diff -pruN 1.0.1-2/bearer.cpp 5.2.2-0ubuntu1/bearer.cpp
--- 1.0.1-2/bearer.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/bearer.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,166 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "bearer.h"
-#include "bearer_p.h"
-#include "mmdebug.h"
-#include "dbus/dbus.h"
-
-BearerPrivate::BearerPrivate(const QString &path)
-    : bearerIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-    , uni(path)
-{
-}
-
-ModemManager::Bearer::Bearer(const QString &path, QObject *parent)
-    : QObject(parent)
-    , d_ptr(new BearerPrivate(path))
-{
-    Q_D(Bearer);
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-}
-
-ModemManager::Bearer::~Bearer()
-{
-    delete d_ptr;
-}
-
-QString ModemManager::Bearer::interface() const
-{
-    Q_D(const Bearer);
-    return d->bearerIface.interface();
-}
-
-bool ModemManager::Bearer::isConnected() const
-{
-    Q_D(const Bearer);
-    return d->bearerIface.connected();
-}
-
-bool ModemManager::Bearer::isSuspended() const
-{
-    Q_D(const Bearer);
-    return d->bearerIface.suspended();
-}
-
-ModemManager::Bearer::IpConfig ModemManager::Bearer::ip4Config() const
-{
-    Q_D(const Bearer);
-    IpConfig result;
-    const QVariantMap map = d->bearerIface.ip4Config();
-    result.method = (MMBearerIpMethod)map.value("method").toUInt();
-
-    if (result.method == MM_BEARER_IP_METHOD_STATIC) {
-        result.address = map.value("address").toString();
-        result.prefix = map.value("prefix").toUInt();
-        result.dns1 = map.value("dns1").toString();
-        result.dns2 = map.value("dns2").toString();
-        result.dns3 = map.value("dns3").toString();
-        result.gateway = map.value("gateway").toString();
-    }
-
-    return result;
-}
-
-ModemManager::Bearer::IpConfig ModemManager::Bearer::ip6Config() const
-{
-    Q_D(const Bearer);
-    IpConfig result;
-    const QVariantMap map = d->bearerIface.ip6Config();
-    result.method = (MMBearerIpMethod)map.value("method").toUInt();
-
-    if (result.method == MM_BEARER_IP_METHOD_STATIC) {
-        result.address = map.value("address").toString();
-        result.prefix = map.value("prefix").toUInt();
-        result.dns1 = map.value("dns1").toString();
-        result.dns2 = map.value("dns2").toString();
-        result.dns3 = map.value("dns3").toString();
-        result.gateway = map.value("gateway").toString();
-    }
-
-    return result;
-}
-
-uint ModemManager::Bearer::ipTimeout() const
-{
-    Q_D(const Bearer);
-    return d->bearerIface.ipTimeout();
-}
-
-QVariantMap ModemManager::Bearer::properties() const
-{
-    Q_D(const Bearer);
-    return d->bearerIface.properties();
-}
-
-void ModemManager::Bearer::connectBearer()
-{
-    Q_D(Bearer);
-    d->bearerIface.Connect();
-}
-
-void ModemManager::Bearer::disconnectBearer()
-{
-    Q_D(Bearer);
-    d->bearerIface.Disconnect();
-}
-
-void ModemManager::Bearer::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
-{
-    mmDebug() << interface << properties.keys();
-
-    if (interface == QString(MM_DBUS_INTERFACE_BEARER)) {
-        QLatin1String interface(MM_BEARER_PROPERTY_INTERFACE);
-        QLatin1String connected(MM_BEARER_PROPERTY_CONNECTED);
-        QLatin1String suspended(MM_BEARER_PROPERTY_SUSPENDED);
-        QLatin1String ip4Config(MM_BEARER_PROPERTY_IP4CONFIG);
-        QLatin1String ip6Config(MM_BEARER_PROPERTY_IP6CONFIG);
-
-        QVariantMap::const_iterator it = properties.constFind(interface);
-        if (it != properties.constEnd()) {
-            emit interfaceChanged(it->toString());
-        }
-        it = properties.constFind(connected);
-        if (it != properties.constEnd()) {
-            emit connectedChanged(it->toBool());
-        }
-        it = properties.constFind(suspended);
-        if (it != properties.constEnd()) {
-            emit suspendedChanged(it->toBool());
-        }
-        it = properties.constFind(ip4Config);
-        if (it != properties.constEnd()) {
-            emit ip4ConfigChanged();
-        }
-        it = properties.constFind(ip6Config);
-        if (it != properties.constEnd()) {
-            emit ip6ConfigChanged();
-        }
-    }
-}
-
-QString ModemManager::Bearer::uni() const
-{
-    Q_D(const Bearer);
-    return d->uni;
-}
diff -pruN 1.0.1-2/bearer.h 5.2.2-0ubuntu1/bearer.h
--- 1.0.1-2/bearer.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/bearer.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,158 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_BEARER_H
-#define MODEMMANAGERQT_BEARER_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-
-#include "generic-types.h"
-
-class BearerPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The Bearer class
- *
- * This class provides access to specific actions that may be performed on available bearers.
- */
-class MODEMMANAGERQT_EXPORT Bearer: public QObject
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Bearer)
-
-public:
-    typedef QSharedPointer<Bearer> Ptr;
-    typedef QList<Ptr> List;
-
-    struct IpConfig {
-        MMBearerIpMethod method;
-        QString address;
-        uint prefix;
-        QString dns1;
-        QString dns2;
-        QString dns3;
-        QString gateway;
-    };
-
-    explicit Bearer(const QString &path, QObject *parent = 0);
-    ~Bearer();
-
-    /**
-     * @return the operating system name for the network data interface that
-     * provides packet data using this bearer.
-     *
-     * Connection managers must configure this interface depending on the IP
-     * "method" given by the ip4Config() or ip6Config() properties set by bearer
-     * activation.
-     *
-     * If MM_BEARER_IP_METHOD_STATIC or MM_BEARER_IP_METHOD_DHCP methods are
-     * given, the interface will be an ethernet-style interface suitable for DHCP
-     * or setting static IP configuration on, while if the
-     * MM_BEARER_IP_METHOD_PPP method is given, the interface will be a serial
-     * TTY which must then have PPP run over it.
-     *
-     */
-    QString interface() const;
-
-    /**
-     * @return whether or not the bearer is connected and thus whether packet
-     * data communication using this bearer is possible.
-     */
-    bool isConnected() const;
-
-    /**
-     * 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 @p true
-     */
-    bool isSuspended() const;
-
-    /**
-     * If the bearer was configured for IPv4 addressing, upon activation
-     * this property contains the addressing details for assignment to the data
-     * interface.
-     */
-    IpConfig ip4Config() const;
-
-    /**
-     * If the bearer was configured for IPv6 addressing, upon activation this
-     * property contains the addressing details for assignment to the data
-     * interface.
-     */
-    IpConfig ip6Config() const;
-
-    /**
-     * @return maximum time to wait for a successful IP establishment, when PPP is used.
-     */
-    uint ipTimeout() const;
-
-    /**
-     * @return map of properties used when creating the bearer
-     * @see IpConfig
-     */
-    QVariantMap properties() const;
-
-    /**
-     * 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 ip4Config() and/or ip6Config() properties become
-     * valid and may contain IP configuration information for the data interface
-     * associated with this bearer.
-     */
-    void connectBearer();
-
-    /**
-     * Disconnect and deactivate this packet data connection.
-     *
-     * Any ongoing data session will be terminated and IP addresses become invalid when this method is called.
-     */
-    void disconnectBearer();
-
-    /**
-     * @return the DBUS path (uni) to the object
-     */
-    QString uni() const;
-
-Q_SIGNALS:
-    void interfaceChanged(const QString &iface);
-    void connectedChanged(bool connected);
-    void suspendedChanged(bool suspended);
-    void ip4ConfigChanged();
-    void ip6ConfigChanged();
-
-private Q_SLOTS:
-   void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
-
-private:
-    BearerPrivate *const d_ptr;
-};
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/bearer_p.h 5.2.2-0ubuntu1/bearer_p.h
--- 1.0.1-2/bearer_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/bearer_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_BEARER_P_H
-#define MODEMMANAGER_BEARER_P_H
-
-#include "dbus/Bearer.h"
-#include "interface_p.h"
-
-class BearerPrivate
-{
-public:
-    explicit BearerPrivate(const QString &path);
-    OrgFreedesktopModemManager1BearerInterface bearerIface;
-    QString uni;
-};
-
-#endif
diff -pruN 1.0.1-2/cmake/FindModemManager.cmake 5.2.2-0ubuntu1/cmake/FindModemManager.cmake
--- 1.0.1-2/cmake/FindModemManager.cmake	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/cmake/FindModemManager.cmake	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,42 @@
+# - Try to find ModemManager
+# Once done this will define
+#
+#  MODEMMANAGER_FOUND - system has ModemManager
+#  MODEMMANAGER_INCLUDE_DIRS - the ModemManager include directories
+#  MODEMMANAGER_LIBRARIES - the libraries needed to use ModemManager
+#  MODEMMANAGER_CFLAGS - Compiler switches required for using ModemManager
+#  MODEMMANAGER_VERSION - version number of ModemManager
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
+# Copyright (c) 2007, Will Stephenson, <wstephenson@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (MODEMMANAGER_INCLUDE_DIRS)
+   # in cache already
+   SET(ModemManager_FIND_QUIETLY TRUE)
+ENDIF (MODEMMANAGER_INCLUDE_DIRS)
+
+IF (NOT WIN32)
+   # use pkg-config to get the directories and then use these values
+   # in the FIND_PATH() and FIND_LIBRARY() calls
+   find_package(PkgConfig)
+   PKG_SEARCH_MODULE( MODEMMANAGER ModemManager )
+ENDIF (NOT WIN32)
+
+IF (MODEMMANAGER_FOUND)
+   IF (ModemManager_FIND_VERSION AND ("${MODEMMANAGER_VERSION}" VERSION_LESS "${ModemManager_FIND_VERSION}"))
+      MESSAGE(FATAL_ERROR "ModemManager ${MODEMMANAGER_VERSION} is too old, need at least ${ModemManager_FIND_VERSION}")
+   ELSEIF (NOT ModemManager_FIND_QUIETLY)
+      MESSAGE(STATUS "Found ModemManager ${MODEMMANAGER_VERSION}: ${MODEMMANAGER_LIBRARY_DIRS}")
+   ENDIF()
+ELSE (MODEMMANAGER_FOUND)
+   IF (ModemManager_FIND_REQUIRED)
+      MESSAGE(FATAL_ERROR "Could NOT find ModemManager, check FindPkgConfig output above!")
+   ENDIF (ModemManager_FIND_REQUIRED)
+ENDIF (MODEMMANAGER_FOUND)
+
+MARK_AS_ADVANCED(MODEMMANAGER_INCLUDE_DIRS NM-UTIL_INCLUDE_DIRS)
+
diff -pruN 1.0.1-2/CMakeLists.txt 5.2.2-0ubuntu1/CMakeLists.txt
--- 1.0.1-2/CMakeLists.txt	2015-03-24 20:07:16.000000000 +0000
+++ 5.2.2-0ubuntu1/CMakeLists.txt	2015-03-19 12:29:47.000000000 +0000
@@ -1,177 +1,75 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.12)
 
 project(ModemManagerQt)
+set(PROJECT_VERSION "5.2.2")
 
-include(FindPkgConfig)
+find_package(ECM 1.0.0 REQUIRED NO_MODULE)
 
-set(VERSION 1.0.1)
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH})
-set(LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
-set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING
-    "Library directory name")
-set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/" CACHE STRING
-    "Base directory for pkgconfig files")
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
 
-if (NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE Debug)
-endif()
-
-find_package(Qt4 REQUIRED)
-pkg_check_modules(MODEMMANAGER REQUIRED ModemManager>=0.8)
-
-add_definitions(${QT_DEFINITIONS})
-
-include(CheckCXXCompilerFlag)
-check_cxx_compiler_flag("-Werror=return-type" HAVE_GCC_ERROR_RETURN_TYPE)
-if (HAVE_GCC_ERROR_RETURN_TYPE)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
-endif()
-
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/dbus
-    ${CMAKE_CURRENT_BUILD_DIR}
-    ${CMAKE_SOURCE_DIR}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_INCLUDE_PATH}
-    ${QT_INCLUDES}
-    ${MODEMMANAGER_INCLUDE_DIRS}
-)
+find_package(ModemManager 1.0 REQUIRED)
 
-link_directories(${CMAKE_LIBRARY_PATH})
+include(KDEInstallDirs)
+include(KDEFrameworkCompilerSettings)
+include(KDECMakeSettings)
 
-#add_subdirectory(dbus)
+set(REQUIRED_QT_VERSION 5.2.0)
+find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED Core DBus Xml)
 
-set(ModemManagerQt_HEADERS
-    dbus/generic-types.h
-    ModemManagerQt-export.h
-    bearer.h
-    interface.h
-    manager.h
-    modem.h
-    modem3gpp.h
-    modem3gppussd.h
-    modemcdma.h
-    modemdevice.h
-    modemlocation.h
-    modemmessaging.h
-    modemtime.h
-    sim.h
-    sms.h
-)
-
-set(ModemManagerQt_PRIVATE_HEADERS
-    bearer_p.h
-    interface_p.h
-    manager_p.h
-    modem_p.h
-    modem3gpp_p.h
-    modem3gppussd_p.h
-    modemcdma_p.h
-    modemdevice_p.h
-    modemlocation_p.h
-    modemmessaging_p.h
-    modemtime_p.h
-    sim_p.h
-    sms_p.h
-)
-
-set(ModemManagerQt_SRCS
-    bearer.cpp
-    interface.cpp
-    manager.cpp
-    modem.cpp
-    modem3gpp.cpp
-    modem3gppussd.cpp
-    modemcdma.cpp
-    modemdevice.cpp
-    modemlocation.cpp
-    modemmessaging.cpp
-    modemtime.cpp
-    sim.cpp
-    sms.cpp
-)
+add_definitions(${QT_DEFINITIONS})
 
-set( DBUS_INTERFACES_FILES
-   dbus/generic-types.cpp
-   dbus/Bearer.cpp
-   dbus/Location.cpp
-   dbus/Manager.cpp
-   dbus/Messaging.cpp
-   dbus/Modem.cpp
-   dbus/Modem3gpp.cpp
-   dbus/Modem3gppUssd.cpp
-   dbus/ModemCdma.cpp
-   dbus/ModemSimple.cpp
-   dbus/Sim.cpp
-   dbus/Sms.cpp
-   dbus/Time.cpp
-   dbus/dbus_manager.cpp
-)
+add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
+add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
 
-set( DBUS_INTERFACES_HEADERS
-   dbus/generic-types.h
-   dbus/Bearer.h
-   dbus/Location.h
-   dbus/Manager.h
-   dbus/Messaging.h
-   dbus/Modem.h
-   dbus/Modem3gpp.h
-   dbus/Modem3gppUssd.h
-   dbus/ModemCdma.h
-   dbus/ModemSimple.h
-   dbus/Sim.h
-   dbus/Sms.h
-   dbus/Time.h
-   dbus/dbus_manager.h
-)
+remove_definitions(-DQT3_SUPPORT_WARNINGS -DQT3_SUPPORT)
+remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY -DQT_NO_KEYWORDS)
 
-qt4_wrap_cpp(ModemManagerQt_MOC ${ModemManagerQt_HEADERS} ${ModemManagerQt_PRIVATE_HEADERS} ${DBUS_INTERFACES_HEADERS})
-qt4_automoc(${DBUS_INTERFACES_FILES})
+include(FeatureSummary)
+include(GenerateExportHeader)
 
-add_library(ModemManagerQt SHARED ${ModemManagerQt_MOC} ${ModemManagerQt_SRCS} ${DBUS_INTERFACES_FILES})
+include(ECMSetupVersion)
+include(ECMGenerateHeaders)
 
-target_link_libraries(ModemManagerQt ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTDBUS_LIBRARY})
-install(TARGETS ModemManagerQt DESTINATION ${LIB_DESTINATION})
+set(KF5_VERSION ${PROJECT_VERSION})
 
-install(FILES ${ModemManagerQt_HEADERS} DESTINATION include/ModemManagerQt COMPONENT Devel)
+ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX MODEMMANAGERQT
+                        VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/modemmanagerqt_version.h"
+                        PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5ModemManagerQtConfigVersion.cmake"
+                        SOVERSION 5)
 
-set_property(TARGET ModemManagerQt PROPERTY COMPILE_DEFINITIONS MAKE_MODEMMANAGERQT_LIB)
-set_property(TARGET ModemManagerQt PROPERTY VERSION ${VERSION})
-set_property(TARGET ModemManagerQt PROPERTY SOVERSION 1)
+##################  examples  ################################
+option(BUILD_EXAMPLES "Build example applications" FALSE)
+if (BUILD_EXAMPLES)
+    add_subdirectory(examples)
+endif(BUILD_EXAMPLES)
 
-message(STATUS "Writing pkg-config file...")
-configure_file(${CMAKE_SOURCE_DIR}/ModemManagerQt.pc.cmake ${CMAKE_BINARY_DIR}/ModemManagerQt.pc @ONLY)
-install(FILES ${CMAKE_BINARY_DIR}/ModemManagerQt.pc DESTINATION "${PKGCONFIG_INSTALL_PREFIX}")
+add_subdirectory(src)
 
-##################  apidox  ################################
-find_package(Doxygen)
+# create a Config.cmake and a ConfigVersion.cmake file and install them
+set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5ModemManagerQt")
 
-if(DOXYGEN_EXECUTABLE)
-  configure_file(${CMAKE_SOURCE_DIR}/.Doxyfile.cmake ${CMAKE_BINARY_DIR}/Doxyfile)
+include(ECMPackageConfigHelpers)
 
-  if(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "${QT_DOC_DIR}/html")
-  else(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "http://qt-project.org/doc/latest/")
-  endif(EXISTS ${QT_DOC_DIR}/html)
+ecm_configure_package_config_file(
+  "${CMAKE_CURRENT_SOURCE_DIR}/KF5ModemManagerQtConfig.cmake.in"
+  "${CMAKE_CURRENT_BINARY_DIR}/KF5ModemManagerQtConfig.cmake"
+  INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
+)
 
-  add_custom_target(
-    apidox
-    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile)
-endif(DOXYGEN_EXECUTABLE)
+install(FILES
+  "${CMAKE_CURRENT_BINARY_DIR}/KF5ModemManagerQtConfig.cmake"
+  "${CMAKE_CURRENT_BINARY_DIR}/KF5ModemManagerQtConfigVersion.cmake"
+  DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
+  COMPONENT Devel
+)
 
-##################  examples  ################################
-option(BUILD_EXAMPLES "Build example applications" FALSE)
-if (BUILD_EXAMPLES)
-    add_subdirectory(examples)
-endif(BUILD_EXAMPLES)
+install(EXPORT KF5ModemManagerQtTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5ModemManagerQtTargets.cmake NAMESPACE KF5:: )
 
-##################  uninstall target  ########################
-configure_file(
-    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
-    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-    IMMEDIATE @ONLY)
+install(FILES
+   ${CMAKE_CURRENT_BINARY_DIR}/modemmanagerqt_version.h
+  DESTINATION ${KF5_INCLUDE_INSTALL_DIR} COMPONENT Devel
+)
 
-add_custom_target(uninstall
-    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+  feature_summary(WHAT ALL   FATAL_ON_MISSING_REQUIRED_PACKAGES)
+endif()
diff -pruN 1.0.1-2/cmake_uninstall.cmake.in 5.2.2-0ubuntu1/cmake_uninstall.cmake.in
--- 1.0.1-2/cmake_uninstall.cmake.in	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/cmake_uninstall.cmake.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,22 +0,0 @@
-if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-    message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-
-file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-string(REGEX REPLACE "\n" ";" files "${files}")
-list(REVERSE files)
-foreach (file ${files})
-    message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
-    if (EXISTS "$ENV{DESTDIR}${file}")
-        execute_process(
-            COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
-            OUTPUT_VARIABLE rm_out
-            RESULT_VARIABLE rm_retval
-        )
-        if(NOT ${rm_retval} EQUAL 0)
-            message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-        endif (NOT ${rm_retval} EQUAL 0)
-    else (EXISTS "$ENV{DESTDIR}${file}")
-        message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
-    endif (EXISTS "$ENV{DESTDIR}${file}")
-endforeach(file)
diff -pruN 1.0.1-2/dbus/Bearer.cpp 5.2.2-0ubuntu1/dbus/Bearer.cpp
--- 1.0.1-2/dbus/Bearer.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Bearer.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Bearer.xml -p Bearer -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Bearer.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1BearerInterface
- */
-
-OrgFreedesktopModemManager1BearerInterface::OrgFreedesktopModemManager1BearerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1BearerInterface::~OrgFreedesktopModemManager1BearerInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Bearer.h 5.2.2-0ubuntu1/dbus/Bearer.h
--- 1.0.1-2/dbus/Bearer.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Bearer.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,84 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Bearer.xml -p Bearer -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef BEARER_H_1371821210
-#define BEARER_H_1371821210
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Bearer
- */
-class OrgFreedesktopModemManager1BearerInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Bearer"; }
-
-public:
-    OrgFreedesktopModemManager1BearerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1BearerInterface();
-
-    Q_PROPERTY(bool Connected READ connected)
-    inline bool connected() const
-    { return qvariant_cast< bool >(property("Connected")); }
-
-    Q_PROPERTY(QString Interface READ interface)
-    inline QString interface() const
-    { return qvariant_cast< QString >(property("Interface")); }
-
-    Q_PROPERTY(QVariantMap Ip4Config READ ip4Config)
-    inline QVariantMap ip4Config() const
-    { return qvariant_cast< QVariantMap >(property("Ip4Config")); }
-
-    Q_PROPERTY(QVariantMap Ip6Config READ ip6Config)
-    inline QVariantMap ip6Config() const
-    { return qvariant_cast< QVariantMap >(property("Ip6Config")); }
-
-    Q_PROPERTY(uint IpTimeout READ ipTimeout)
-    inline uint ipTimeout() const
-    { return qvariant_cast< uint >(property("IpTimeout")); }
-
-    Q_PROPERTY(QVariantMap Properties READ properties)
-    inline QVariantMap properties() const
-    { return qvariant_cast< QVariantMap >(property("Properties")); }
-
-    Q_PROPERTY(bool Suspended READ suspended)
-    inline bool suspended() const
-    { return qvariant_cast< bool >(property("Suspended")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> Connect()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Connect"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Disconnect()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Disconnect"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/CMakeLists.txt 5.2.2-0ubuntu1/dbus/CMakeLists.txt
--- 1.0.1-2/dbus/CMakeLists.txt	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-find_package(Qt4 REQUIRED)
-
-add_definitions(${QT_DEFINITIONS})
-set( INTERFACE_INTROSPECTION_XML_FILES
-   introspection/org.freedesktop.ModemManager1.Bearer.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Location.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
-   introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
-   introspection/org.freedesktop.ModemManager1.Modem.Time.xml
-   introspection/org.freedesktop.ModemManager1.Modem.xml
-   introspection/org.freedesktop.ModemManager1.Sim.xml
-   introspection/org.freedesktop.ModemManager1.Sms.xml
-   introspection/org.freedesktop.ModemManager1.xml
-   )
-
-set( ADAPTER_INTROSPECTION_XML_FILES
-   )
-
-set_property( SOURCE ${INTERFACE_INTROSPECTION_XML_FILES} PROPERTY INCLUDE generic-types.h)
-set_source_files_properties( ${INTERFACE_INTROSPECTION_XML_FILES} ${ADAPTER_INTROSPECTION_XML_FILES} PROPERTIES NO_NAMESPACE TRUE )
-
-set( UNUSED_XML
-)
-
-
-set( FILES_TO_BUILD
-   )
-set ( UNUSED_FILES
-)
-
-set( UNUSED_GENERATED_FILES
-)
-
-QT4_ADD_DBUS_INTERFACES( FILES_TO_BUILD ${INTERFACE_INTROSPECTION_XML_FILES} )
-
-add_library(modemmanagerdbus ${FILES_TO_BUILD})
-
-TARGET_LINK_LIBRARIES(modemmanagerdbus ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY})
diff -pruN 1.0.1-2/dbus/dbus.h 5.2.2-0ubuntu1/dbus/dbus.h
--- 1.0.1-2/dbus/dbus.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/dbus.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,31 +0,0 @@
-/*
-Copyright 2008 Will Stephenson <wstephenson@kde.org>
-Copyright 2010 Lamarque Souza <lamarque@kde.org>
-Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-
-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.1 of the License, or (at your option) version 3, or any
-later version accepted by the membership of KDE e.V. (or its
-successor approved by the membership of KDE e.V.), which shall
-act as a proxy defined in Section 6 of version 3 of the license.
-
-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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_DBUS_H
-#define MODEMMANAGER_DBUS_H
-
-#define DBUS_INTERFACE_PROPS             QLatin1String("org.freedesktop.DBus.Properties")
-#define DBUS_INTERFACE_INTROSPECT        QLatin1String("org.freedesktop.DBus.Introspectable")
-#define DBUS_INTERFACE_MANAGER           QLatin1String("org.freedesktop.DBus.ObjectManager")
-
-#endif
diff -pruN 1.0.1-2/dbus/dbus_manager.cpp 5.2.2-0ubuntu1/dbus/dbus_manager.cpp
--- 1.0.1-2/dbus/dbus_manager.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/dbus_manager.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp -p dbus_manager manager.xml -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "dbus_manager.h"
-
-/*
- * Implementation of interface class OrgFreedesktopDBusObjectManagerInterface
- */
-
-OrgFreedesktopDBusObjectManagerInterface::OrgFreedesktopDBusObjectManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopDBusObjectManagerInterface::~OrgFreedesktopDBusObjectManagerInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/dbus_manager.h 5.2.2-0ubuntu1/dbus/dbus_manager.h
--- 1.0.1-2/dbus/dbus_manager.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/dbus_manager.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,52 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp -p dbus_manager manager.xml -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef DBUS_MANAGER_H_1372025949
-#define DBUS_MANAGER_H_1372025949
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.DBus.ObjectManager
- */
-class OrgFreedesktopDBusObjectManagerInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.DBus.ObjectManager"; }
-
-public:
-    OrgFreedesktopDBusObjectManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopDBusObjectManagerInterface();
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<DBUSManagerStruct> GetManagedObjects()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("GetManagedObjects"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-    void InterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
-    void InterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/generic-types.cpp 5.2.2-0ubuntu1/dbus/generic-types.cpp
--- 1.0.1-2/dbus/generic-types.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/generic-types.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,124 +0,0 @@
-/* This file is part of the KDE project
-   Copyright 2010 Lamarque Souza <lamarque@kde.org>
-   Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-
-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.1 of the License, or (at your option) version 3, or any
-later version accepted by the membership of KDE e.V. (or its
-successor approved by the membership of KDE e.V.), which shall
-act as a proxy defined in Section 6 of version 3 of the license.
-
-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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "generic-types.h"
-
-
-// Marshall the CurrentModesType data into a D-BUS argument
-QDBusArgument &operator << (QDBusArgument &arg, const CurrentModesType &mode)
-{
-    arg.beginStructure();
-    arg << mode.allowed << mode.preferred;
-    arg.endStructure();
-    return arg;
-}
-
-// Retrieve the CurrentModesType data from the D-BUS argument
-const QDBusArgument &operator >> (const QDBusArgument &arg, CurrentModesType &mode)
-{
-    uint temp1, temp2;
-    arg.beginStructure();
-    arg >> temp1 >> temp2;
-    mode.allowed = (MMModemMode)temp1;
-    mode.preferred = (MMModemMode)temp2;
-    arg.endStructure();
-
-    return arg;
-}
-
-
-// Marshall the SignalQualityPair data into a D-BUS argument
-QDBusArgument &operator << (QDBusArgument &arg, const SignalQualityPair &sqp)
-{
-    arg.beginStructure();
-    arg << sqp.signal << sqp.recent;
-    arg.endStructure();
-    return arg;
-}
-
-// Retrieve the SignalQualityPair data from the D-BUS argument
-const QDBusArgument &operator >> (const QDBusArgument &arg, SignalQualityPair &sqp)
-{
-    arg.beginStructure();
-    arg >> sqp.signal >> sqp.recent;
-    arg.endStructure();
-    return arg;
-}
-
-// Marshall the ValidityPair data into a D-BUS argument
-QDBusArgument &operator <<(QDBusArgument &arg, const ValidityPair &vp)
-{
-    arg.beginStructure();
-    arg << vp.validity << vp.value;
-    arg.endStructure();
-    return arg;
-}
-
-// Retrieve the ValidityPair data from the D-BUS argument
-const QDBusArgument &operator >>(const QDBusArgument &arg, ValidityPair &vp)
-{
-    uint temp1, temp2;
-    arg.beginStructure();
-    arg >> temp1 >> temp2;
-    vp.validity = (MMSmsValidityType)temp1;
-    vp.value = temp2;
-    arg.endStructure();
-
-    return arg;
-}
-
-// Marshal QList<QVariantMap> into a D-BUS argument
-QDBusArgument &operator<<(QDBusArgument &argument, const QList<QVariantMap> &variantMapList)
-{
-    argument.beginArray(qMetaTypeId<QVariantMap>());
-    for (int i = 0; i < variantMapList.length(); ++i)
-        argument << variantMapList[i];
-    argument.endArray();
-    return argument;
-}
-
-// Retrieve QList<QVariantMap> from a D-BUS argument
-const QDBusArgument &operator>>(const QDBusArgument &argument, QList<QVariantMap> &variantMapList)
-{
-    argument.beginArray();
-    variantMapList.clear();
-
-    while (!argument.atEnd()) {
-        QList<QVariantMap> element;
-        argument >> element;
-        variantMapList.append( element );
-    }
-
-    argument.endArray();
-    return argument;
-}
-
-void registerModemManagerTypes()
-{
-    qDBusRegisterMetaType<CurrentModesType>();
-    qDBusRegisterMetaType<SignalQualityPair>();
-    qDBusRegisterMetaType<SupportedModesType>();
-    qDBusRegisterMetaType<UnlockRetriesMap>();
-    qDBusRegisterMetaType<ScanResultsType>();
-    //qDBusRegisterMetaType<LocationInformationMap>();
-    qDBusRegisterMetaType<ValidityPair>();
-    qRegisterMetaType<MMModemLock>("MMModemLock");
-}
diff -pruN 1.0.1-2/dbus/generic-types.h 5.2.2-0ubuntu1/dbus/generic-types.h
--- 1.0.1-2/dbus/generic-types.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/generic-types.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,96 +0,0 @@
-/* This file is part of the KDE project
-   Copyright 2010 Lamarque Souza <lamarque@kde.org>
-   Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-
-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.1 of the License, or (at your option) version 3, or any
-later version accepted by the membership of KDE e.V. (or its
-successor approved by the membership of KDE e.V.), which shall
-act as a proxy defined in Section 6 of version 3 of the license.
-
-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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_GENERIC_TYPES_H
-#define MODEMMANAGERQT_GENERIC_TYPES_H
-
-#include <ModemManager/ModemManager.h>
-
-#include <QMetaType>
-#include <QtDBus/QtDBus>
-
-Q_DECLARE_METATYPE(MMModemLock)
-
-typedef QMap<QString, QVariantMap> NMVariantMapMap;
-Q_DECLARE_METATYPE(NMVariantMapMap)
-
-typedef QMap<QDBusObjectPath, NMVariantMapMap> DBUSManagerStruct;
-Q_DECLARE_METATYPE(DBUSManagerStruct)
-
-typedef QList<uint> UIntList;
-Q_DECLARE_METATYPE(UIntList)
-
-typedef QList<QList<uint> > UIntListList;
-Q_DECLARE_METATYPE(UIntListList)
-
-typedef QMap<QString, QString> NMStringMap;
-Q_DECLARE_METATYPE(NMStringMap)
-
-typedef struct {
-    uint signal;
-    bool recent;
-} SignalQualityPair;
-Q_DECLARE_METATYPE(SignalQualityPair)
-
-Q_DECLARE_BUILTIN_METATYPE(MMModemMode, UInt)
-typedef struct {
-public:
-    MMModemMode allowed; // bitfield
-    MMModemMode preferred;
-} CurrentModesType;
-Q_DECLARE_METATYPE(CurrentModesType)
-
-typedef QList<CurrentModesType> SupportedModesType;
-Q_DECLARE_METATYPE(SupportedModesType)
-
-Q_DECLARE_BUILTIN_METATYPE(MMModemLock, UInt)
-typedef QMap</*MMModemLock*/uint, uint> UnlockRetriesMap;
-Q_DECLARE_METATYPE(UnlockRetriesMap)
-
-typedef QList<QVariantMap> ScanResultsType;
-Q_DECLARE_METATYPE(ScanResultsType)
-
-Q_DECLARE_BUILTIN_METATYPE(MMModemLocationSource, UInt)
-typedef QMap<MMModemLocationSource, QVariant> LocationInformationMap;
-Q_DECLARE_METATYPE(LocationInformationMap)
-
-Q_DECLARE_BUILTIN_METATYPE(MMSmsValidityType, UInt)
-typedef struct {
-    MMSmsValidityType validity;
-    uint value;
-} ValidityPair;
-Q_DECLARE_METATYPE(ValidityPair)
-
-// CurrentModesType
-QDBusArgument &operator << (QDBusArgument &arg, const CurrentModesType &mode);
-const QDBusArgument &operator >> (const QDBusArgument &arg, CurrentModesType &mode);
-
-// SignalQualityPair
-QDBusArgument &operator << (QDBusArgument &arg, const SignalQualityPair &sqp);
-const QDBusArgument &operator >> (const QDBusArgument &arg, SignalQualityPair &sqp);
-
-// ValidityPair
-QDBusArgument &operator << (QDBusArgument &arg, const ValidityPair &vp);
-const QDBusArgument &operator >> (const QDBusArgument &arg, ValidityPair &vp);
-
-void registerModemManagerTypes();
-
-#endif // MODEMMANAGERQT_TYPES_H
diff -pruN 1.0.1-2/dbus/introspection/all.xml 5.2.2-0ubuntu1/dbus/introspection/all.xml
--- 1.0.1-2/dbus/introspection/all.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/all.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,20 +0,0 @@
-<tp:spec
-   xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
-   xmlns:xi="http://www.w3.org/2001/XInclude">
-
-  <xi:include href="org.freedesktop.ModemManager1.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Sim.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Bearer.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Sms.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.ModemCdma.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Messaging.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Location.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Time.xml"/>
-  <xi:include href="org.freedesktop.ModemManager1.Modem.Firmware.xml"/>
-
-  <!--xi:include href="wip-org.freedesktop.ModemManager1.Modem.Contacts.xml"/-->
-
-</tp:spec>
diff -pruN 1.0.1-2/dbus/introspection/manager.xml 5.2.2-0ubuntu1/dbus/introspection/manager.xml
--- 1.0.1-2/dbus/introspection/manager.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/manager.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,21 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
-                      "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node>
-  <interface name="org.freedesktop.DBus.ObjectManager">
-    <method name="GetManagedObjects">
-      <arg type="a{oa{sa{sv}}}" name="object_paths_interfaces_and_properties" direction="out">
-        <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="DBUSManagerStruct"/>
-      </arg>
-    </method>
-    <signal name="InterfacesAdded">
-      <arg type="o" name="object_path"/>
-      <arg type="a{sa{sv}}" name="interfaces_and_properties">
-        <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QVariantMapMap"/>
-      </arg>
-    </signal>
-    <signal name="InterfacesRemoved">
-      <arg type="o" name="object_path"/>
-      <arg type="as" name="interfaces"/>
-    </signal>
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,242 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 Interface Specification
-
-   Copyright (C) 2011-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.Bearer:
-      @short_description: The ModemManager Bearer interface.
-
-      This interface provides access to specific actions that may be performed
-      on available bearers.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Bearer">
-
-    <!--
-        Connect:
-
-        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
-        #org.freedesktop.ModemManager1.Bearer:Ip4Config
-        and/or
-        #org.freedesktop.ModemManager1.Bearer:Ip6Config
-        properties become valid and may contain IP configuration information for
-        the data interface associated with this bearer.
-    -->
-    <method name="Connect" />
-
-    <!--
-        Disconnect:
-
-        Disconnect and deactivate this packet data connection.
-
-        Any ongoing data session will be terminated and IP addresses become
-        invalid when this method is called.
-    -->
-    <method name="Disconnect" />
-
-    <!--
-        For 3GPP (GSM/UMTS/LTE) technologies, Bearer objects represent only
-        Primary PDP contexts; Secondary contexts are not exposed as a concept
-        because they share everything with their parent primary PDP context
-        except QoS and traffic flows.  Instead, methods for setting QoS and
-        Traffic Flow Templates (TFTs) should be provided here which could as a
-        result of being called create secondary PDP contexts with those QoS and
-        TFT parameters.
-
-        FIXME: add methods to set QoS/TFT on the Bearer object, which should
-        create Secondary contexts if needed, and figure out some method of
-        disposing of those secondary contexts when no longer required.
-    -->
-
-    <!--
-        Interface:
-
-        The operating system name for the network data interface that provides
-        packet data using this bearer.
-
-        Connection managers must configure this interface depending on the IP
-        <literal>"method"</literal> given by the
-        #org.freedesktop.ModemManager1.Bearer:Ip4Config
-        or
-        #org.freedesktop.ModemManager1.Bearer:Ip6Config
-        properties set by bearer activation.
-
-        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 inteface 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.
-    -->
-    <property name="Interface" type="s" access="read" />
-
-    <!--
-        Connected:
-
-        Indicates whether or not the bearer is connected and thus whether
-        packet data communication using this bearer is possible.
-    -->
-    <property name="Connected" type="b" access="read" />
-
-    <!--
-        Suspended:
-
-        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 %TRUE.
-    -->
-    <property name="Suspended" type="b" access="read" />
-
-    <!--
-        Ip4Config:
-
-        If the bearer was configured for IPv4 addressing, upon activation this
-        property contains the addressing details for assignment to the data
-        interface.
-
-        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>
-
-        If the bearer specifies configuration via PPP or DHCP, only the
-        <literal>"method"</literal> item will be present.
-
-        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), give 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>
-    -->
-    <property name="Ip4Config" type="a{sv}" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
-    </property>
-
-    <!--
-        Ip6Config:
-
-        If the bearer was configured for IPv6 addressing, upon activation this
-        property contains the addressing details for assignment to the data
-        interface.
-
-        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>
-
-        If the bearer specifies configuration via PPP or DHCP, only the
-        <literal>"method"</literal> item will be present.
-
-        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), give 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>
-    -->
-    <property name="Ip6Config" type="a{sv}" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
-    </property>
-
-    <!--
-        IpTimeout:
-
-        Maximum time to wait for a successful IP establishment, when PPP is used.
-    -->
-    <property name="IpTimeout" type="u" access="read" />
-
-    <!--
-        Properties:
-
-        List of properties used when creating the bearer.
-    -->
-    <property name="Properties" type="a{sv}" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
-    </property>
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,273 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.Location:
-      @short_description: The ModemManager Location interface.
-
-      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.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Location">
-
-    <!--
-        Setup:
-        @sources: 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.
-        @signal_location: Flag to control whether the device emits signals with the new location information. This argument is ignored when disabling location information gathering.
-
-        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.
-
-        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
-        @signal_location argument can be set to %FALSE 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.
-    -->
-    <method name="Setup">
-      <arg name="sources"         type="u" direction="in" />
-      <arg name="signal_location" type="b" direction="in" />
-    </method>
-
-    <!--
-        GetLocation:
-        @location: Dictionary of available location information when location information gathering is enabled.
-
-        Return current location information, if any. If the modem supports
-        multiple location types it may return more than one. See the
-        #org.freedesktop.ModemManager1.Modem.Location:Location property
-        for more information on the dictionary returned at @location.
-
-        This method may require the client to authenticate itself.
-    -->
-    <method name="GetLocation">
-      <arg name="Location" type="a{uv}" direction="out">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="LocationInformationMap"/>
-      </arg>
-    </method>
-
-    <!--
-        Capabilities:
-
-        Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link>
-        values, specifying the supported location sources.
-    -->
-    <property name="Capabilities" type="u" access="read" />
-
-    <!--
-        Enabled:
-
-        Bitmask specifying which of the supported
-        <link linkend="MMModemLocationSource">MMModemLocationSource</link>
-        location sources is currently enabled in the device.
-    -->
-    <property name="Enabled" type="u" access="read" />
-
-    <!--
-        SignalsLocation:
-
-        %TRUE if location updates will be emitted via D-Bus signals, %FALSE if
-        location updates will not be emitted.
-
-        See the
-        <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">Setup()</link>
-        method for more information.
-    -->
-    <property name="SignalsLocation" type="b" access="read" />
-
-    <!--
-        Location:
-
-        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.
-
-        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.
-
-        This dictionary is composed of a
-        <link linkend="MMModemLocationSource">MMModemLocationSource</link>
-        key, with an associated data which contains type-specific location
-        information:
-
-        <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"</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 base station with
-                  which the mobile is registered, in upper-case hexadecimal format
-                  without leading zeros, as specified in 3GPP TS 27.007 section
-                  10.1.19. 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>
-            </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 #org.freedesktop.ModemManager1.Modem.Location:Location 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>
-    -->
-    <property name="Location" type="a{uv}" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="LocationInformationMap"/>
-    </property>
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.Messaging:
-      @short_description: The ModemManager Messaging interface.
-
-      The Messaging interface handles sending SMS messages and notification of new
-      incoming messages.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Messaging">
-
-    <!--
-        List:
-        @result: The list of SMS object paths.
-
-        Retrieve all SMS messages.
-
-        This method should only be used once and subsequent information
-        retreived either by listening for the
-        #org.freedesktop.ModemManager1.Modem.Messaging::Added and
-        #org.freedesktop.ModemManager1.Modem.Messaging::Completed signals,
-        or by querying the specific SMS object of interest.
-    -->
-    <method name="List">
-      <arg name="result" type="ao" direction="out" />
-    </method>
-
-    <!--
-        Delete:
-        @path: The object path of the SMS to delete.
-
-        Delete an SMS message.
-    -->
-    <method name="Delete">
-      <arg name="path" type="o" direction="in" />
-    </method>
-
-    <!--
-        Create:
-        @properties: Message properties from the <link linkend="gdbus-org.freedesktop.ModemManager1.Sms">SMS D-Bus interface</link>.
-        @path: The object path of the new message object.
-
-        Creates a new message object.
-
-        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.
-
-        If the SMSC is not specified and one is required, the default SMSC is
-        used.
-    -->
-    <method name="Create">
-      <arg name="properties" type="a{sv}" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
-      </arg>
-      <arg name="path"       type="o"     direction="out" />
-    </method>
-
-    <!--
-        Added:
-        @path: Object path of the new SMS.
-        @received: %TRUE if the message was received from the network, as opposed to being added locally.
-
-        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.
-
-        Check the
-        '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.State">State</link>'
-        property to determine if the message is complete. The
-        #org.freedesktop.ModemManager1.Modem.Messaging::Completed
-        signal will also be emitted when the message is complete.
-    -->
-    <signal name="Added">
-      <arg name="path" type="o" />
-      <arg name="received" type="b" />
-    </signal>
-
-    <!--
-        Deleted:
-        @path: Object path of the now deleted SMS.
-
-        Emitted when a message has been deleted.
-    -->
-    <signal name="Deleted">
-      <arg name="path" type="o" />
-    </signal>
-
-    <!--
-        SupportedStorages:
-
-        A list of <link linkend="MMSmsStorage">MMSmsStorage</link> values,
-        specifying the storages supported by this modem for storing and
-        receiving SMS.
-    -->
-    <property name="SupportedStorages" type="au" access="read">
-	<annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
-    </property>
-
-    <!--
-        DefaultStorage:
-
-        A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
-        specifying the storage to be used when receiving or storing SMS.
-    -->
-    <property name="DefaultStorage" type="u" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.Modem3gpp.Ussd:
-      @short_description: The ModemManager 3GPP USSD interface.
-
-      This interface provides access to actions based on the USSD protocol.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
-
-    <!--
-        Initiate:
-        @command: The command to start the USSD session with.
-        @reply: The network response to the command which started the USSD session.
-
-        Sends a USSD command string to the network initiating a USSD session.
-
-        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.
-    -->
-    <method name="Initiate">
-      <arg name="command" type="s" direction="in"  />
-      <arg name="reply"   type="s" direction="out" />
-    </method>
-
-    <!--
-        Respond:
-        @response: The response to network-initiated USSD command, or a response to a request for further input.
-        @reply: The network reply to this response to the network-initiated USSD command. The reply may require further responses.
-
-        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.
-    -->
-    <method name="Respond">
-      <arg name="response" type="s" direction="in"  />
-      <arg name="reply"    type="s" direction="out" />
-    </method>
-
-    <!--
-        Cancel:
-
-        Cancel an ongoing USSD session, either mobile or network initiated.
-    -->
-    <method name="Cancel" />
-
-    <!--
-        State:
-
-        A <link linkend="MMModem3gppUssdSessionState">MMModem3gppUssdSessionState</link> value,
-        indicating the state of any ongoing USSD session.
-    -->
-    <property name="State" type="u" access="read" />
-
-    <!--
-        NetworkNotification:
-
-        Contains any network-initiated request to which no USSD response is
-        required.
-
-        When no USSD session is active, or when there is no network-
-        initiated request, this property will be a zero-length string.
-    -->
-    <property name="NetworkNotification" type="s" access="read" />
-
-    <!--
-        NetworkRequest:
-
-        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.
-
-        When no USSD session is active, or when there is no pending
-        network-initiated request, this property will be a zero-length string.
-    -->
-    <property name="NetworkRequest" type="s" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.Modem3gpp:
-      @short_description: The ModemManager 3GPP interface.
-
-      This interface provides access to specific actions that may be performed
-      in modems with 3GPP capabilities.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
-
-    <!--
-        Register:
-        @operator_id: 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.
-
-        Request registration with a given mobile network.
-    -->
-    <method name="Register">
-      <arg name="operator_id" type="s" direction="in" />
-    </method>
-
-    <!--
-        Scan:
-        @results: Array of dictionaries wih the found networks.
-
-        Scan for available networks.
-
-        @results 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>
-    -->
-    <method name="Scan">
-      <arg name="results" type="aa{sv}" direction="out">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="ScanResultsType"/>
-      </arg>
-    </method>
-
-    <!--
-        Imei:
-
-        The <ulink url="http://en.wikipedia.org/wiki/Imei">IMEI</ulink> of the device.
-    -->
-    <property name="Imei" type="s" access="read" />
-
-    <!--
-        RegistrationState:
-
-        A <link linkend="MMModem3gppRegistrationState">MMModem3gppRegistrationState</link>
-        value specifying the mobile registration status as defined in 3GPP TS 27.007
-        section 10.1.19.
-    -->
-    <property name="RegistrationState" type="u" access="read" />
-
-    <!--
-        OperatorCode:
-
-        Code of the operator to which the mobile is currently registered.
-
-        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>.
-
-        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.
-    -->
-    <property name="OperatorCode" type="s" access="read" />
-
-    <!--
-        OperatorName:
-
-        Name of the operator to which the mobile is currently registered.
-
-        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.
-    -->
-    <property name="OperatorName" type="s" access="read" />
-
-    <!--
-        EnabledFacilityLocks:
-
-        Bitmask of <link linkend="MMModem3gppFacility">MMModem3gppFacility</link> values
-        for which PIN locking is enabled.
-    -->
-    <property name="EnabledFacilityLocks" type="u" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.ModemCdma:
-      @short_description: The ModemManager CDMA interface.
-
-      This interface provides access to specific actions that may be performed
-      in modems with CDMA capabilities.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
-
-    <!--
-        Activate:
-        @carrier_code: Name of carrier, or carrier-specific code.
-
-        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.
-
-        Some modems will reboot after this call is made.
-    -->
-    <method name="Activate">
-      <arg name="carrier_code" type="s" direction="in" />
-    </method>
-
-    <!--
-        ActivateManual:
-        @properties: A dictionary of properties to set on the modem, including <literal>"mdn"</literal> and <literal>"min"</literal>.
-
-        Sets the modem provisioning data directly, without contacting the
-        carrier over the air.
-
-        Some modems will reboot after this call is made.
-    -->
-    <method name="ActivateManual">
-      <arg name="properties" type="a{sv}" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
-      </arg>
-    </method>
-
-    <!--
-        ActivationStateChanged:
-        @activation_state: Current activation state, given as a <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>.
-        @activation_error: Carrier-specific error code, given as a <link linkend="MMCdmaActivationError">MMCdmaActivationError</link>.
-        @status_changes: 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.
-
-        The device activation state changed.
-    -->
-    <signal name="ActivationStateChanged">
-      <arg name="activation_state" type="u"     />
-      <arg name="activation_error" type="u"     />
-      <arg name="status_changes"   type="a{sv}">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/>
-      </arg>
-    </signal>
-
-    <!--
-        ActivationState:
-
-        A <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>
-        value specifying the state of the activation in the 3GPP2 network.
-    -->
-    <property name="ActivationState" type="u" access="read" />
-
-    <!--
-        Meid:
-
-        The modem's <ulink url="http://en.wikipedia.org/wiki/MEID">Mobile Equipment Identifier</ulink>.
-    -->
-    <property name="Meid" type="s" access="read" />
-
-
-    <!--
-        Esn:
-
-        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).
-    -->
-    <property name="Esn" type="s" access="read" />
-
-    <!--
-        Sid:
-
-        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.
-
-        See <ulink url="http://ifast.org">ifast.org</ulink> or the mobile
-        broadband provider database for mappings of SIDs to network providers.
-    -->
-    <property name="Sid" type="u" access="read" />
-
-    <!--
-        Nid:
-
-        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.
-    -->
-    <property name="Nid" type="u" access="read" />
-
-    <!--
-        Cdma1xRegistrationState:
-
-        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
-        value specifying the CDMA 1x registration state.
-    -->
-    <property name="Cdma1xRegistrationState" type="u" access="read" />
-
-    <!--
-        EvdoRegistrationState:
-
-        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
-        value specifying the EVDO registration state.
-    -->
-    <property name="EvdoRegistrationState" type="u" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,220 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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.Simple:
-      @short_description: The ModemManager Simple interface.
-
-      The Simple interface allows controlling and querying the status of Modems.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Simple">
-
-    <!--
-        Connect:
-        @properties: Dictionary of properties needed to get the modem connected.
-        @bearer: On successful connect, returns the object path of the connected packet data bearer used for the connection attempt.
-
-        Do everything needed to connect the modem using the given properties.
-
-        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).
-
-        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.
-
-        Allowed key/value pairs in @properties 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>
-              %FALSE 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>
-    -->
-    <method name="Connect">
-      <arg name="properties" type="a{sv}" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
-      </arg>
-      <arg name="bearer"     type="o"     direction="out" />
-    </method>
-
-    <!--
-        Disconnect:
-        @bearer: If given this method will disconnect the referenced packet
-        data bearer, while if "/" (ie, no object given) this method will
-        disconnect all active packet data bearers.
-
-        Disconnect an active packet data connection.
-    -->
-    <method name="Disconnect">
-      <arg name="bearer" type="o" direction="in" />
-    </method>
-
-    <!--
-        GetStatus:
-        @properties: Dictionary of properties.
-
-        Get the general modem status.
-
-        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>
-    -->
-    <method name="GetStatus">
-      <arg name="properties" type="a{sv}" direction="out">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap"/>
-      </arg>
-    </method>
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 Interface Specification
-
-   Copyright (C) 2011-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.Time:
-      @short_description: The ModemManager Time interface.
-
-      This interface allows clients to receive network time and timezone
-      updates broadcast by mobile networks.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem.Time">
-
-    <!--
-        GetNetworkTime:
-        @time: If the network time is known, a string containing local date,
-        time, and (if available) UTC offset in ISO 8601 format. If the network
-        time is unknown, the empty string.
-
-        Gets the current network time in local time.
-
-        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.
-    -->
-    <method name="GetNetworkTime">
-      <arg name="time" type="s" direction="out" />
-    </method>
-
-    <!--
-        NetworkTimezone:
-
-        The timezone data provided by the network. It may include one or more
-        of the following fields:
-
-        <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>
-    -->
-    <property name="NetworkTimezone" type="a{sv}" access="read">
-	<annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
-    </property>
-
-    <!--
-        NetworkTimeChanged:
-        @time: A string containing date and time in ISO 8601 format.
-
-        Sent when the network time is updated.
-    -->
-    <signal name="NetworkTimeChanged">
-      <arg name="time" type="s" />
-    </signal>
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,510 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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:
-      @short_description: The ModemManager Modem interface.
-
-      The Modem interface controls the status and actions in a given modem
-      object.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Modem">
-
-    <!--
-        Enable:
-        @enable: %TRUE to enable the modem and %FALSE to disable it.
-
-        Enable or disable the modem.
-
-        When enabled, the modem's radio is powered on and data sessions, voice
-        calls, location services, and Short Message Service may be available.
-
-        When disabled, the modem enters low-power state and no network-related
-        operations are available.
-    -->
-    <method name="Enable">
-      <arg name="enable" type="b" direction="in" />
-    </method>
-
-    <!--
-        ListBearers:
-        @bearers: The list of bearer object paths.
-
-        List configured packet data bearers (EPS Bearers, PDP Contexts, or
-        CDMA2000 Packet Data Sessions).
-    -->
-    <method name="ListBearers">
-      <arg name="bearers" type="ao" direction="out" />
-    </method>
-
-    <!--
-        CreateBearer:
-        @properties: List of properties to assign to the bearer after creating it.
-        @path: On success, the object path of the newly created bearer.
-
-        Create a new packet data bearer using the given characteristics.
-
-        This request may fail if the modem does not support additional bearers,
-        if too many bearers are already defined, or if properties are invalid.
-
-        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>
-
-        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.
-    -->
-    <method name="CreateBearer">
-      <arg name="properties" type="a{sv}" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap" />
-      </arg>
-      <arg name="path"       type="o"     direction="out" />
-    </method>
-
-    <!--
-        DeleteBearer:
-        @bearer: Object path of the bearer to delete.
-
-        Delete an existing packet data bearer.
-
-        If the bearer is currently active and providing packet data server, it
-        will be disconnected and that packet data service will terminate.
-    -->
-    <method name="DeleteBearer">
-      <arg name="bearer" type="o" direction="in" />
-    </method>
-
-    <!--
-        Reset:
-
-        Clear non-persistent configuration and state, and return the device to
-        a newly-powered-on state.
-
-        This command may power-cycle the device.
-    -->
-    <method name="Reset" />
-
-    <!--
-        FactoryReset:
-        @code: Carrier-supplied code required to reset the modem.
-
-        Clear the modem's configuration (including persistent configuration and
-        state), and return the device to a factory-default state.
-
-        If not required by the modem, @code may be ignored.
-
-        This command may or may not power-cycle the device.
-    -->
-    <method name="FactoryReset">
-      <arg name="code" type="s" direction="in" />
-    </method>
-
-    <!--
-        SetPowerState:
-	@state: A <link linkend="MMModemPowerState">MMModemPowerState</link> value, to specify the desired power state.
-
-        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.
-    -->
-    <method name="SetPowerState">
-      <arg name="state" type="u" direction="in" />
-    </method>
-
-    <!--
-        SetCurrentCapabilities:
-        @capabilities: Bitmask of <link linkend="MMModemCapability">MMModemCapability</link> values, to specify the capabilities to use.
-
-        Set the capabilities of the device. A restart of the modem may be required.
-    -->
-    <method name="SetCurrentCapabilities">
-      <arg name="capabilities" type="u" direction="in" />
-    </method>
-
-    <!--
-        SetCurrentModes:
-        @modes: 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.
-
-        Set the access technologies (e.g. 2G/3G/4G preference) the device is
-        currently allowed to use when connecting to a network.
-
-        The given combination should be supported by the modem, as specified in the
-        #org.freedesktop.ModemManager1.Modem:SupportedModes property.
-    -->
-    <method name="SetCurrentModes">
-      <arg name="modes" type="(uu)" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="CurrentModesType"/>
-      </arg>
-    </method>
-
-    <!--
-        SetCurrentBands:
-        @bands: List of <link linkend="MMModemBand">MMModemBand</link> values, to specify the bands to be used.
-
-        Set the radio frequency and technology bands the device is currently
-        allowed to use when connecting to a network.
-    -->
-    <method name="SetCurrentBands">
-      <arg name="bands" type="au" direction="in">
-        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QList&lt;uint&gt;" />
-      </arg>
-    </method>
-
-    <!--
-       Command
-       @cmd The command string, e.g. "AT+GCAP" or "+GCAP" (leading AT is inserted if necessary).
-       @timeout The number of seconds to wait for a response.
-       @response The modem's response.
-
-       Send an arbitrary AT command to a modem and get the response.
-
-       Note that using this interface call is only allowed when running
-       ModemManager in debug mode.
-      -->
-    <method name="Command">
-      <arg name="cmd"      type="s" direction="in"  />
-      <arg name="timeout"  type="u" direction="in"  />
-      <arg name="response" type="s" direction="out" />
-    </method>
-
-    <!--
-        StateChanged:
-        @old: A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.
-        @new: A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.
-        @reason: A <link linkend="MMModemStateChangeReason">MMModemStateChangeReason</link> value, specifying the reason for this state change.
-
-        The modem's state (see #org.freedesktop.ModemManager1.Modem:State) changed.
-    -->
-    <signal name="StateChanged">
-      <arg name="oldState"    type="i" />
-      <arg name="newState"    type="i" />
-      <arg name="reason" type="u" />
-    </signal>
-
-    <!--
-        Sim:
-
-        The path of the SIM object available in this device, if any.
-    -->
-    <property name="Sim" type="o" access="read" />
-
-    <!--
-        SupportedCapabilities:
-
-        List of <link linkend="MMModemCapability">MMModemCapability</link>
-        values, specifying the combinations of generic family of access
-        technologies the modem supports.
-
-        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.
-    -->
-    <property name="SupportedCapabilities" type="au" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
-    </property>
-
-    <!--
-        CurrentCapabilities:
-
-        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.
-    -->
-    <property name="CurrentCapabilities" type="u" access="read" />
-
-    <!--
-        MaxBearers:
-
-        The maximum number of defined packet data bearers the modem supports.
-
-        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.
-    -->
-    <property name="MaxBearers" type="u" access="read" />
-
-    <!--
-        MaxActiveBearers:
-
-        The maximum number of active packet data bearers the modem supports.
-
-        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.
-    -->
-    <property name="MaxActiveBearers" type="u" access="read" />
-
-    <!--
-        Manufacturer:
-
-        The equipment manufacturer, as reported by the modem.
-    -->
-    <property name="Manufacturer" type="s" access="read" />
-
-    <!--
-        Model:
-
-        The equipment model, as reported by the modem.
-    -->
-    <property name="Model" type="s" access="read" />
-
-    <!--
-        Revision:
-
-        The revision identification of the software, as reported by the modem.
-    -->
-    <property name="Revision" type="s" access="read" />
-
-    <!--
-        DeviceIdentifier:
-
-        A best-effort device identifier based on various device information like
-        model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
-
-        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.
-
-        This is not the device's IMEI or ESN since those may not be available
-        before unlocking the device via a PIN.
-    -->
-    <property name="DeviceIdentifier" type="s" access="read" />
-
-    <!--
-        Device:
-
-        The physical modem device reference (ie, USB, PCI, PCMCIA device), which
-        may be dependent upon the operating system.
-
-        In Linux for example, this points to a sysfs path of the usb_device
-        object.
-    -->
-    <property name="Device" type="s" access="read" />
-
-    <!--
-        Drivers:
-
-        The Operating System device drivers handling communication with the modem
-        hardware.
-    -->
-    <property name="Drivers" type="as" access="read" />
-
-    <!--
-        Plugin:
-
-        The name of the plugin handling this modem.
-    -->
-    <property name="Plugin" type="s" access="read" />
-
-    <!--
-        PrimaryPort:
-
-        The name of the primary port using to control the modem.
-    -->
-    <property name="PrimaryPort" type="s" access="read" />
-
-    <!--
-        EquipmentIdentifier:
-
-        The identity of the device.
-
-        This will be the IMEI number for GSM devices and the hex-format ESN/MEID
-        for CDMA devices.
-    -->
-    <property name="EquipmentIdentifier" type="s" access="read" />
-
-    <!--
-        UnlockRequired:
-
-        Current lock state of the device, given as a
-        <link linkend="MMModemLock">MMModemLock</link> value.
-    -->
-    <property name="UnlockRequired" type="u" access="read" />
-
-    <!--
-        UnlockRetries:
-
-        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.
-     -->
-    <property name="UnlockRetries" type="a{uu}" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UnlockRetriesMap"/>
-    </property>
-
-    <!--
-        State:
-
-        Overall state of the modem, given as a
-        <link linkend="MMModemState">MMModemState</link> value.
-
-        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.
-    -->
-    <property name="State" type="i" access="read" />
-
-    <!--
-        StateFailedReason:
-
-        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.
-    -->
-    <property name="StateFailedReason" type="u" access="read" />
-
-    <!--
-        AccessTechnologies:
-
-        Bitmask of <link linkend="MMModemAccessTechnology">MMModemAccessTechnology</link> values,
-        specifying the current network access technologies used by the device to communicate
-        with the network.
-
-        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.
-    -->
-    <property name="AccessTechnologies" type="u" access="read" />
-
-    <!--
-        SignalQuality:
-
-        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.
-
-        The additional boolean value indicates if the quality value given was
-        recently taken.
-    -->
-    <property name="SignalQuality" type="(ub)" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="SignalQualityPair"/>
-    </property>
-
-    <!--
-        OwnNumbers:
-
-        List of numbers (e.g. MSISDN in 3GPP) being currently handled by this
-        modem.
-    -->
-    <property name="OwnNumbers" type="as" access="read" />
-
-    <!--
-        PowerState:
-
-	A <link linkend="MMModemPowerState">MMModemPowerState</link> value
-	specifying the current power state of the modem.
-    -->
-    <property name="PowerState" type="u" access="read" />
-
-    <!--
-        SupportedModes:
-
-        This property exposes the supported mode combinations, given as an array of unsigned
-        integer pairs, where:
-
-        <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>
-    -->
-    <property name="SupportedModes" type="a(uu)" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="SupportedModesType"/>
-    </property>
-
-    <!--
-        CurrentModes:
-
-        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.
-
-        The pair must be one of those specified in
-        #org.freedesktop.ModemManager1.Modem:SupportedModes.
-    -->
-    <property name="CurrentModes" type="(uu)" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="CurrentModesType"/>
-    </property>
-
-    <!--
-        SupportedBands:
-
-        List of <link linkend="MMModemBand">MMModemBand</link> values,
-        specifying the radio frequency and technology bands supported by the
-        device.
-
-        For POTS devices, only the
-        <link linkend="MM-MODEM-BAND-ANY:CAPS"><constant>MM_MODEM_BAND_ANY</constant></link>
-        mode will be returned.
-    -->
-    <property name="SupportedBands" type="au" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
-    </property>
-
-    <!--
-        CurrentBands:
-
-        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.
-
-        It must be a subset of #org.freedesktop.ModemManager1.Modem:SupportedBands.
-    -->
-    <property name="CurrentBands" type="au" access="read">
-      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
-    </property>
-
-    <!--
-        SupportedIpFamilies:
-
-        Bitmask of <link linkend="MMBearerIpFamily">MMBearerIpFamily</link> values,
-        specifying the IP families supported by the device.
-    -->
-    <property name="SupportedIpFamilies" type="u" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,102 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 Interface Specification
-
-   Copyright (C) 2011-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.Sim:
-      @short_description: The ModemManager SIM interface.
-
-      The SIM interface handles communication with SIM, USIM, and RUIM (CDMA
-      SIM) cards.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Sim">
-
-    <!--
-        SendPin:
-        @pin: A string containing the PIN code.
-
-        Send the PIN to unlock the SIM card.
-    -->
-    <method name="SendPin">
-      <arg name="pin" type="s" direction="in" />
-    </method>
-
-    <!--
-        SendPuk:
-        @puk: A string containing the PUK code.
-        @pin: A string containing the PIN code.
-
-        Send the PUK and a new PIN to unlock the SIM card.
-    -->
-    <method name="SendPuk">
-      <arg name="puk" type="s" direction="in" />
-      <arg name="pin" type="s" direction="in" />
-    </method>
-
-    <!--
-        EnablePin:
-        @pin: A string containing the PIN code.
-        @enabled: %TRUE to enable PIN checking, %FALSE otherwise.
-
-        Enable or disable the PIN checking.
-    -->
-    <method name="EnablePin">
-      <arg name="pin"     type="s" direction="in" />
-      <arg name="enabled" type="b" direction="in" />
-    </method>
-
-    <!--
-        ChangePin:
-        @old_pin: A string containing the current PIN code.
-        @new_pin: A string containing the new PIN code.
-
-        Change the PIN code.
-    -->
-    <method name="ChangePin">
-      <arg name="old_pin" type="s" direction="in" />
-      <arg name="new_pin" type="s" direction="in" />
-    </method>
-
-    <!--
-        SimIdentifier:
-
-        An obfuscated SIM identifier based on the IMSI or the
-        ICCID.
-
-        This may be available before the PIN has been entered depending
-        on the device itself.
-    -->
-    <property name="SimIdentifier" type="s" access="read" />
-
-    <!--
-        Imsi:
-
-        The IMSI of the SIM card, if any.
-    -->
-    <property name="Imsi" type="s" access="read" />
-
-    <!--
-        OperatorId:
-
-        The ID of the network operator that issued the SIM card,
-        formatted as a 5 or 6-digit MCC/MNC code (e.g. <literal>"310410"</literal>).
-    -->
-    <property name="OperatorIdentifier" type="s" access="read" />
-
-    <!--
-        OperatorName:
-
-        The name of the network operator, as given by the SIM card, if known.
-    -->
-    <property name="OperatorName" type="s" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,196 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 Interface Specification
-
-   Copyright (C) 2011-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.Sms:
-      @short_description: The ModemManager SMS interface.
-
-      The SMS interface Defines operations and properties of a single SMS message.
-  -->
-  <interface name="org.freedesktop.ModemManager1.Sms">
-
-    <!--
-        Send:
-
-        If the message has not yet been sent, queue it for delivery.
-    -->
-    <method name="Send" />
-
-    <!--
-        Store:
-
-        Store the message in the device if not already done.
-
-        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.
-    -->
-    <method name="Store">
-      <arg name="storage" type="u" direction="in" />
-    </method>
-
-    <!--
-        State:
-
-        A <link linkend="MMSmsState">MMSmsState</link> value,
-        describing the state of the message.
-    -->
-    <property name="State" type="u" access="read" />
-
-    <!--
-        PduType:
-
-        A <link linkend="MMSmsPduType">MMSmsPduType</link> value,
-        describing the type of PDUs used in the SMS message.
-    -->
-    <property name="PduType" type="u" access="read" />
-
-    <!--
-        Number:
-
-        Number to which the message is addressed.
-    -->
-    <property name="Number" type="s" access="read" />
-
-    <!--
-        Text:
-
-        Message text, in UTF-8.
-
-        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.
-
-        Note that Text and Data are never given at the same time.
-    -->
-    <property name="Text" type="s" access="read" />
-
-    <!--
-        Data:
-
-        Message data.
-
-        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.
-
-        Note that Text and Data are never given at the same time.
-    -->
-    <property name="Data" type="ay" access="read" />
-
-    <!--
-        SMSC:
-
-        Indicates the SMS service center number.
-
-        Always empty for 3GPP2/CDMA.
-    -->
-    <property name="SMSC" type="s" access="read" />
-
-    <!--
-        Validity:
-
-        Indicates when the SMS expires in the SMSC.
-
-        This value is composed of a
-	<link linkend="MMSmsValidityType">MMSmsValidityType</link>
-	key, with an associated data which contains type-specific validity
-	information:
-
-	<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>
-    -->
-    <property name="Validity" type="(uv)" access="read">
-	<annotation name="org.qtproject.QtDBus.QtTypeName" value="ValidityPair"/>
-    </property>
-
-    <!--
-        Class:
-
-        3GPP message class (-1..3).  -1 means class is not available or
-        is not used for this message, otherwise the 3GPP SMS message class.
-
-        Always -1 for 3GPP2/CDMA.
-    -->
-    <property name="Class" type="i" access="read" />
-
-    <!--
-        DeliveryReportRequest:
-
-        #TRUE if delivery report request is required, #FALSE otherwise.
-    -->
-    <property name="DeliveryReportRequest" type="b" access="read" />
-
-    <!--
-        MessageReference:
-
-        Message Reference of the last PDU sent/received within this SMS.
-
-        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.
-    -->
-    <property name="MessageReference" type="u" access="read" />
-
-    <!--
-        Timestamp:
-
-        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>.
-    -->
-    <property name="Timestamp" type="s" access="read" />
-
-    <!--
-        DischargeTimestamp:
-
-        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.
-
-        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>.
-    -->
-    <property name="DischargeTimestamp" type="s" access="read" />
-
-    <!--
-        DeliveryState:
-
-        A <link linkend="MMSmsDeliveryState">MMSmsDeliveryState</link> value,
-        describing the state of the delivery reported in the Status Report message.
-
-        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>.
-    -->
-    <property name="DeliveryState" type="u" access="read" />
-
-    <!--
-        Storage:
-
-        A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
-        describing the storage where this message is kept.
-    -->
-    <property name="Storage" type="u" access="read" />
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.xml 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.xml
--- 1.0.1-2/dbus/introspection/org.freedesktop.ModemManager1.xml	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/introspection/org.freedesktop.ModemManager1.xml	1970-01-01 00:00:00.000000000 +0000
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
- ModemManager 0.8 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:
-      @short_description: The ModemManager Manager interface.
-
-      The Manager interface allows controlling and querying the status of the
-      ModemManager daemon.
-  -->
-  <interface name="org.freedesktop.ModemManager1">
-
-    <!--
-        ScanDevices:
-
-        Start a new scan for connected modem devices.
-    -->
-    <method name="ScanDevices" />
-
-    <!--
-        SetLogging:
-        @level: One of <literal>"ERR"</literal>, <literal>"WARN"</literal>, <literal>"INFO"</literal>, <literal>"DEBUG"</literal>.
-
-        Set logging verbosity.
-    -->
-    <method name="SetLogging">
-      <arg name="level" type="s" direction="in" />
-    </method>
-
-  </interface>
-</node>
diff -pruN 1.0.1-2/dbus/Location.cpp 5.2.2-0ubuntu1/dbus/Location.cpp
--- 1.0.1-2/dbus/Location.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Location.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Location.xml -p Location -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Location.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemLocationInterface
- */
-
-OrgFreedesktopModemManager1ModemLocationInterface::OrgFreedesktopModemManager1ModemLocationInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemLocationInterface::~OrgFreedesktopModemManager1ModemLocationInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Location.h 5.2.2-0ubuntu1/dbus/Location.h
--- 1.0.1-2/dbus/Location.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Location.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,73 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Location.xml -p Location -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef LOCATION_H_1371846310
-#define LOCATION_H_1371846310
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Location
- */
-class OrgFreedesktopModemManager1ModemLocationInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Location"; }
-
-public:
-    OrgFreedesktopModemManager1ModemLocationInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemLocationInterface();
-
-    Q_PROPERTY(uint Capabilities READ capabilities)
-    inline uint capabilities() const
-    { return qvariant_cast< uint >(property("Capabilities")); }
-
-    Q_PROPERTY(uint Enabled READ enabled)
-    inline uint enabled() const
-    { return qvariant_cast< uint >(property("Enabled")); }
-
-    Q_PROPERTY(LocationInformationMap Location READ location)
-    inline LocationInformationMap location() const
-    { return qvariant_cast< LocationInformationMap >(property("Location")); }
-
-    Q_PROPERTY(bool SignalsLocation READ signalsLocation)
-    inline bool signalsLocation() const
-    { return qvariant_cast< bool >(property("SignalsLocation")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<LocationInformationMap> GetLocation()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("GetLocation"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Setup(uint sources, bool signal_location)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(sources) << QVariant::fromValue(signal_location);
-        return asyncCallWithArgumentList(QLatin1String("Setup"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Manager.cpp 5.2.2-0ubuntu1/dbus/Manager.cpp
--- 1.0.1-2/dbus/Manager.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Manager.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.xml -p ModemManager -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Manager.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1Interface
- */
-
-OrgFreedesktopModemManager1Interface::OrgFreedesktopModemManager1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1Interface::~OrgFreedesktopModemManager1Interface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Manager.h 5.2.2-0ubuntu1/dbus/Manager.h
--- 1.0.1-2/dbus/Manager.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Manager.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,57 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.xml -p ModemManager -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEMMANAGER_H_1371819695
-#define MODEMMANAGER_H_1371819695
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1
- */
-class OrgFreedesktopModemManager1Interface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1"; }
-
-public:
-    OrgFreedesktopModemManager1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1Interface();
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> ScanDevices()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("ScanDevices"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SetLogging(const QString &level)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(level);
-        return asyncCallWithArgumentList(QLatin1String("SetLogging"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Messaging.cpp 5.2.2-0ubuntu1/dbus/Messaging.cpp
--- 1.0.1-2/dbus/Messaging.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Messaging.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Messaging.xml -p Messaging -N -i generic-types.h
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Messaging.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemMessagingInterface
- */
-
-OrgFreedesktopModemManager1ModemMessagingInterface::OrgFreedesktopModemManager1ModemMessagingInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemMessagingInterface::~OrgFreedesktopModemManager1ModemMessagingInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Messaging.h 5.2.2-0ubuntu1/dbus/Messaging.h
--- 1.0.1-2/dbus/Messaging.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Messaging.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,73 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Messaging.xml -p Messaging -N -i generic-types.h
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MESSAGING_H_1372247002
-#define MESSAGING_H_1372247002
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Messaging
- */
-class OrgFreedesktopModemManager1ModemMessagingInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Messaging"; }
-
-public:
-    OrgFreedesktopModemManager1ModemMessagingInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemMessagingInterface();
-
-    Q_PROPERTY(uint DefaultStorage READ defaultStorage)
-    inline uint defaultStorage() const
-    { return qvariant_cast< uint >(property("DefaultStorage")); }
-
-    Q_PROPERTY(UIntList SupportedStorages READ supportedStorages)
-    inline UIntList supportedStorages() const
-    { return qvariant_cast< UIntList >(property("SupportedStorages")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<QDBusObjectPath> Create(const QVariantMap &properties)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(properties);
-        return asyncCallWithArgumentList(QLatin1String("Create"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Delete(const QDBusObjectPath &path)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(path);
-        return asyncCallWithArgumentList(QLatin1String("Delete"), argumentList);
-    }
-
-    inline QDBusPendingReply<QList<QDBusObjectPath> > List()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("List"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-    void Added(const QDBusObjectPath &path, bool received);
-    void Deleted(const QDBusObjectPath &path);
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Modem3gpp.cpp 5.2.2-0ubuntu1/dbus/Modem3gpp.cpp
--- 1.0.1-2/dbus/Modem3gpp.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem3gpp.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Modem3gpp.xml -p Modem3gpp -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Modem3gpp.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemModem3gppInterface
- */
-
-OrgFreedesktopModemManager1ModemModem3gppInterface::OrgFreedesktopModemManager1ModemModem3gppInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemModem3gppInterface::~OrgFreedesktopModemManager1ModemModem3gppInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Modem3gpp.h 5.2.2-0ubuntu1/dbus/Modem3gpp.h
--- 1.0.1-2/dbus/Modem3gpp.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem3gpp.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,77 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Modem3gpp.xml -p Modem3gpp -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEM3GPP_H_1371932651
-#define MODEM3GPP_H_1371932651
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Modem3gpp
- */
-class OrgFreedesktopModemManager1ModemModem3gppInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Modem3gpp"; }
-
-public:
-    OrgFreedesktopModemManager1ModemModem3gppInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemModem3gppInterface();
-
-    Q_PROPERTY(uint EnabledFacilityLocks READ enabledFacilityLocks)
-    inline uint enabledFacilityLocks() const
-    { return qvariant_cast< uint >(property("EnabledFacilityLocks")); }
-
-    Q_PROPERTY(QString Imei READ imei)
-    inline QString imei() const
-    { return qvariant_cast< QString >(property("Imei")); }
-
-    Q_PROPERTY(QString OperatorCode READ operatorCode)
-    inline QString operatorCode() const
-    { return qvariant_cast< QString >(property("OperatorCode")); }
-
-    Q_PROPERTY(QString OperatorName READ operatorName)
-    inline QString operatorName() const
-    { return qvariant_cast< QString >(property("OperatorName")); }
-
-    Q_PROPERTY(uint RegistrationState READ registrationState)
-    inline uint registrationState() const
-    { return qvariant_cast< uint >(property("RegistrationState")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> Register(const QString &operator_id)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(operator_id);
-        return asyncCallWithArgumentList(QLatin1String("Register"), argumentList);
-    }
-
-    inline QDBusPendingReply<ScanResultsType> Scan()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Scan"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Modem3gppUssd.cpp 5.2.2-0ubuntu1/dbus/Modem3gppUssd.cpp
--- 1.0.1-2/dbus/Modem3gppUssd.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem3gppUssd.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml -p Modem3gppUssd -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Modem3gppUssd.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemModem3gppUssdInterface
- */
-
-OrgFreedesktopModemManager1ModemModem3gppUssdInterface::OrgFreedesktopModemManager1ModemModem3gppUssdInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemModem3gppUssdInterface::~OrgFreedesktopModemManager1ModemModem3gppUssdInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Modem3gppUssd.h 5.2.2-0ubuntu1/dbus/Modem3gppUssd.h
--- 1.0.1-2/dbus/Modem3gppUssd.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem3gppUssd.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,76 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml -p Modem3gppUssd -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEM3GPPUSSD_H_1371820553
-#define MODEM3GPPUSSD_H_1371820553
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd
- */
-class OrgFreedesktopModemManager1ModemModem3gppUssdInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"; }
-
-public:
-    OrgFreedesktopModemManager1ModemModem3gppUssdInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemModem3gppUssdInterface();
-
-    Q_PROPERTY(QString NetworkNotification READ networkNotification)
-    inline QString networkNotification() const
-    { return qvariant_cast< QString >(property("NetworkNotification")); }
-
-    Q_PROPERTY(QString NetworkRequest READ networkRequest)
-    inline QString networkRequest() const
-    { return qvariant_cast< QString >(property("NetworkRequest")); }
-
-    Q_PROPERTY(uint State READ state)
-    inline uint state() const
-    { return qvariant_cast< uint >(property("State")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> Cancel()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Cancel"), argumentList);
-    }
-
-    inline QDBusPendingReply<QString> Initiate(const QString &command)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(command);
-        return asyncCallWithArgumentList(QLatin1String("Initiate"), argumentList);
-    }
-
-    inline QDBusPendingReply<QString> Respond(const QString &response)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(response);
-        return asyncCallWithArgumentList(QLatin1String("Respond"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/ModemCdma.cpp 5.2.2-0ubuntu1/dbus/ModemCdma.cpp
--- 1.0.1-2/dbus/ModemCdma.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/ModemCdma.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.ModemCdma.xml -p ModemCdma -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "ModemCdma.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemModemCdmaInterface
- */
-
-OrgFreedesktopModemManager1ModemModemCdmaInterface::OrgFreedesktopModemManager1ModemModemCdmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemModemCdmaInterface::~OrgFreedesktopModemManager1ModemModemCdmaInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/ModemCdma.h 5.2.2-0ubuntu1/dbus/ModemCdma.h
--- 1.0.1-2/dbus/ModemCdma.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/ModemCdma.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.ModemCdma.xml -p ModemCdma -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEMCDMA_H_1371820414
-#define MODEMCDMA_H_1371820414
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.ModemCdma
- */
-class OrgFreedesktopModemManager1ModemModemCdmaInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.ModemCdma"; }
-
-public:
-    OrgFreedesktopModemManager1ModemModemCdmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemModemCdmaInterface();
-
-    Q_PROPERTY(uint ActivationState READ activationState)
-    inline uint activationState() const
-    { return qvariant_cast< uint >(property("ActivationState")); }
-
-    Q_PROPERTY(uint Cdma1xRegistrationState READ cdma1xRegistrationState)
-    inline uint cdma1xRegistrationState() const
-    { return qvariant_cast< uint >(property("Cdma1xRegistrationState")); }
-
-    Q_PROPERTY(QString Esn READ esn)
-    inline QString esn() const
-    { return qvariant_cast< QString >(property("Esn")); }
-
-    Q_PROPERTY(uint EvdoRegistrationState READ evdoRegistrationState)
-    inline uint evdoRegistrationState() const
-    { return qvariant_cast< uint >(property("EvdoRegistrationState")); }
-
-    Q_PROPERTY(QString Meid READ meid)
-    inline QString meid() const
-    { return qvariant_cast< QString >(property("Meid")); }
-
-    Q_PROPERTY(uint Nid READ nid)
-    inline uint nid() const
-    { return qvariant_cast< uint >(property("Nid")); }
-
-    Q_PROPERTY(uint Sid READ sid)
-    inline uint sid() const
-    { return qvariant_cast< uint >(property("Sid")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> Activate(const QString &carrier_code)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(carrier_code);
-        return asyncCallWithArgumentList(QLatin1String("Activate"), argumentList);
-    }
-
-    inline QDBusPendingReply<> ActivateManual(const QVariantMap &properties)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(properties);
-        return asyncCallWithArgumentList(QLatin1String("ActivateManual"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-    void ActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes);
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Modem.cpp 5.2.2-0ubuntu1/dbus/Modem.cpp
--- 1.0.1-2/dbus/Modem.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.xml -p Modem -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Modem.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemInterface
- */
-
-OrgFreedesktopModemManager1ModemInterface::OrgFreedesktopModemManager1ModemInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemInterface::~OrgFreedesktopModemManager1ModemInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Modem.h 5.2.2-0ubuntu1/dbus/Modem.h
--- 1.0.1-2/dbus/Modem.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Modem.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,228 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.xml -p Modem -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEM_H_1372256597
-#define MODEM_H_1372256597
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem
- */
-class OrgFreedesktopModemManager1ModemInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem"; }
-
-public:
-    OrgFreedesktopModemManager1ModemInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemInterface();
-
-    Q_PROPERTY(uint AccessTechnologies READ accessTechnologies)
-    inline uint accessTechnologies() const
-    { return qvariant_cast< uint >(property("AccessTechnologies")); }
-
-    Q_PROPERTY(UIntList CurrentBands READ currentBands)
-    inline UIntList currentBands() const
-    { return qvariant_cast< UIntList >(property("CurrentBands")); }
-
-    Q_PROPERTY(uint CurrentCapabilities READ currentCapabilities)
-    inline uint currentCapabilities() const
-    { return qvariant_cast< uint >(property("CurrentCapabilities")); }
-
-    Q_PROPERTY(CurrentModesType CurrentModes READ currentModes)
-    inline CurrentModesType currentModes() const
-    { return qvariant_cast< CurrentModesType >(property("CurrentModes")); }
-
-    Q_PROPERTY(QString Device READ device)
-    inline QString device() const
-    { return qvariant_cast< QString >(property("Device")); }
-
-    Q_PROPERTY(QString DeviceIdentifier READ deviceIdentifier)
-    inline QString deviceIdentifier() const
-    { return qvariant_cast< QString >(property("DeviceIdentifier")); }
-
-    Q_PROPERTY(QStringList Drivers READ drivers)
-    inline QStringList drivers() const
-    { return qvariant_cast< QStringList >(property("Drivers")); }
-
-    Q_PROPERTY(QString EquipmentIdentifier READ equipmentIdentifier)
-    inline QString equipmentIdentifier() const
-    { return qvariant_cast< QString >(property("EquipmentIdentifier")); }
-
-    Q_PROPERTY(QString Manufacturer READ manufacturer)
-    inline QString manufacturer() const
-    { return qvariant_cast< QString >(property("Manufacturer")); }
-
-    Q_PROPERTY(uint MaxActiveBearers READ maxActiveBearers)
-    inline uint maxActiveBearers() const
-    { return qvariant_cast< uint >(property("MaxActiveBearers")); }
-
-    Q_PROPERTY(uint MaxBearers READ maxBearers)
-    inline uint maxBearers() const
-    { return qvariant_cast< uint >(property("MaxBearers")); }
-
-    Q_PROPERTY(QString Model READ model)
-    inline QString model() const
-    { return qvariant_cast< QString >(property("Model")); }
-
-    Q_PROPERTY(QStringList OwnNumbers READ ownNumbers)
-    inline QStringList ownNumbers() const
-    { return qvariant_cast< QStringList >(property("OwnNumbers")); }
-
-    Q_PROPERTY(QString Plugin READ plugin)
-    inline QString plugin() const
-    { return qvariant_cast< QString >(property("Plugin")); }
-
-    Q_PROPERTY(uint PowerState READ powerState)
-    inline uint powerState() const
-    { return qvariant_cast< uint >(property("PowerState")); }
-
-    Q_PROPERTY(QString PrimaryPort READ primaryPort)
-    inline QString primaryPort() const
-    { return qvariant_cast< QString >(property("PrimaryPort")); }
-
-    Q_PROPERTY(QString Revision READ revision)
-    inline QString revision() const
-    { return qvariant_cast< QString >(property("Revision")); }
-
-    Q_PROPERTY(SignalQualityPair SignalQuality READ signalQuality)
-    inline SignalQualityPair signalQuality() const
-    { return qvariant_cast< SignalQualityPair >(property("SignalQuality")); }
-
-    Q_PROPERTY(QDBusObjectPath Sim READ sim)
-    inline QDBusObjectPath sim() const
-    { return qvariant_cast< QDBusObjectPath >(property("Sim")); }
-
-    Q_PROPERTY(int State READ state)
-    inline int state() const
-    { return qvariant_cast< int >(property("State")); }
-
-    Q_PROPERTY(uint StateFailedReason READ stateFailedReason)
-    inline uint stateFailedReason() const
-    { return qvariant_cast< uint >(property("StateFailedReason")); }
-
-    Q_PROPERTY(UIntList SupportedBands READ supportedBands)
-    inline UIntList supportedBands() const
-    { return qvariant_cast< UIntList >(property("SupportedBands")); }
-
-    Q_PROPERTY(UIntList SupportedCapabilities READ supportedCapabilities)
-    inline UIntList supportedCapabilities() const
-    { return qvariant_cast< UIntList >(property("SupportedCapabilities")); }
-
-    Q_PROPERTY(uint SupportedIpFamilies READ supportedIpFamilies)
-    inline uint supportedIpFamilies() const
-    { return qvariant_cast< uint >(property("SupportedIpFamilies")); }
-
-    Q_PROPERTY(SupportedModesType SupportedModes READ supportedModes)
-    inline SupportedModesType supportedModes() const
-    { return qvariant_cast< SupportedModesType >(property("SupportedModes")); }
-
-    Q_PROPERTY(uint UnlockRequired READ unlockRequired)
-    inline uint unlockRequired() const
-    { return qvariant_cast< uint >(property("UnlockRequired")); }
-
-    Q_PROPERTY(UnlockRetriesMap UnlockRetries READ unlockRetries)
-    inline UnlockRetriesMap unlockRetries() const
-    { return qvariant_cast< UnlockRetriesMap >(property("UnlockRetries")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<QString> Command(const QString &cmd, uint timeout)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(cmd) << QVariant::fromValue(timeout);
-        return asyncCallWithArgumentList(QLatin1String("Command"), argumentList);
-    }
-
-    inline QDBusPendingReply<QDBusObjectPath> CreateBearer(const QVariantMap &properties)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(properties);
-        return asyncCallWithArgumentList(QLatin1String("CreateBearer"), argumentList);
-    }
-
-    inline QDBusPendingReply<> DeleteBearer(const QDBusObjectPath &bearer)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(bearer);
-        return asyncCallWithArgumentList(QLatin1String("DeleteBearer"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Enable(bool enable)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(enable);
-        return asyncCallWithArgumentList(QLatin1String("Enable"), argumentList);
-    }
-
-    inline QDBusPendingReply<> FactoryReset(const QString &code)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(code);
-        return asyncCallWithArgumentList(QLatin1String("FactoryReset"), argumentList);
-    }
-
-    inline QDBusPendingReply<QList<QDBusObjectPath> > ListBearers()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("ListBearers"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Reset()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Reset"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SetCurrentBands(const QList<uint> &bands)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(bands);
-        return asyncCallWithArgumentList(QLatin1String("SetCurrentBands"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SetCurrentCapabilities(uint capabilities)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(capabilities);
-        return asyncCallWithArgumentList(QLatin1String("SetCurrentCapabilities"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SetCurrentModes(CurrentModesType modes)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(modes);
-        return asyncCallWithArgumentList(QLatin1String("SetCurrentModes"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SetPowerState(uint state)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(state);
-        return asyncCallWithArgumentList(QLatin1String("SetPowerState"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-    void StateChanged(int oldState, int newState, uint reason);
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/ModemSimple.cpp 5.2.2-0ubuntu1/dbus/ModemSimple.cpp
--- 1.0.1-2/dbus/ModemSimple.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/ModemSimple.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Simple.xml -p ModemSimple -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "ModemSimple.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemSimpleInterface
- */
-
-OrgFreedesktopModemManager1ModemSimpleInterface::OrgFreedesktopModemManager1ModemSimpleInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemSimpleInterface::~OrgFreedesktopModemManager1ModemSimpleInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/ModemSimple.h 5.2.2-0ubuntu1/dbus/ModemSimple.h
--- 1.0.1-2/dbus/ModemSimple.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/ModemSimple.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Simple.xml -p ModemSimple -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef MODEMSIMPLE_H_1371820202
-#define MODEMSIMPLE_H_1371820202
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Simple
- */
-class OrgFreedesktopModemManager1ModemSimpleInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Simple"; }
-
-public:
-    OrgFreedesktopModemManager1ModemSimpleInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemSimpleInterface();
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<QDBusObjectPath> Connect(const QVariantMap &properties)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(properties);
-        return asyncCallWithArgumentList(QLatin1String("Connect"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Disconnect(const QDBusObjectPath &bearer)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(bearer);
-        return asyncCallWithArgumentList(QLatin1String("Disconnect"), argumentList);
-    }
-
-    inline QDBusPendingReply<QVariantMap> GetStatus()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("GetStatus"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Sim.cpp 5.2.2-0ubuntu1/dbus/Sim.cpp
--- 1.0.1-2/dbus/Sim.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Sim.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Sim.xml -p Sim -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Sim.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1SimInterface
- */
-
-OrgFreedesktopModemManager1SimInterface::OrgFreedesktopModemManager1SimInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1SimInterface::~OrgFreedesktopModemManager1SimInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Sim.h 5.2.2-0ubuntu1/dbus/Sim.h
--- 1.0.1-2/dbus/Sim.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Sim.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,88 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Sim.xml -p Sim -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef SIM_H_1371819960
-#define SIM_H_1371819960
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Sim
- */
-class OrgFreedesktopModemManager1SimInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Sim"; }
-
-public:
-    OrgFreedesktopModemManager1SimInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1SimInterface();
-
-    Q_PROPERTY(QString Imsi READ imsi)
-    inline QString imsi() const
-    { return qvariant_cast< QString >(property("Imsi")); }
-
-    Q_PROPERTY(QString OperatorIdentifier READ operatorIdentifier)
-    inline QString operatorIdentifier() const
-    { return qvariant_cast< QString >(property("OperatorIdentifier")); }
-
-    Q_PROPERTY(QString OperatorName READ operatorName)
-    inline QString operatorName() const
-    { return qvariant_cast< QString >(property("OperatorName")); }
-
-    Q_PROPERTY(QString SimIdentifier READ simIdentifier)
-    inline QString simIdentifier() const
-    { return qvariant_cast< QString >(property("SimIdentifier")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> ChangePin(const QString &old_pin, const QString &new_pin)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(old_pin) << QVariant::fromValue(new_pin);
-        return asyncCallWithArgumentList(QLatin1String("ChangePin"), argumentList);
-    }
-
-    inline QDBusPendingReply<> EnablePin(const QString &pin, bool enabled)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(pin) << QVariant::fromValue(enabled);
-        return asyncCallWithArgumentList(QLatin1String("EnablePin"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SendPin(const QString &pin)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(pin);
-        return asyncCallWithArgumentList(QLatin1String("SendPin"), argumentList);
-    }
-
-    inline QDBusPendingReply<> SendPuk(const QString &puk, const QString &pin)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(puk) << QVariant::fromValue(pin);
-        return asyncCallWithArgumentList(QLatin1String("SendPuk"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Sms.cpp 5.2.2-0ubuntu1/dbus/Sms.cpp
--- 1.0.1-2/dbus/Sms.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Sms.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Sms.xml -p Sms -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Sms.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1SmsInterface
- */
-
-OrgFreedesktopModemManager1SmsInterface::OrgFreedesktopModemManager1SmsInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1SmsInterface::~OrgFreedesktopModemManager1SmsInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Sms.h 5.2.2-0ubuntu1/dbus/Sms.h
--- 1.0.1-2/dbus/Sms.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Sms.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,113 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Sms.xml -p Sms -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef SMS_H_1371819912
-#define SMS_H_1371819912
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Sms
- */
-class OrgFreedesktopModemManager1SmsInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Sms"; }
-
-public:
-    OrgFreedesktopModemManager1SmsInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1SmsInterface();
-
-    Q_PROPERTY(int SmsClass READ smsClass)
-    inline int smsClass() const
-    { return qvariant_cast< int >(property("Class")); }
-
-    Q_PROPERTY(QByteArray Data READ data)
-    inline QByteArray data() const
-    { return qvariant_cast< QByteArray >(property("Data")); }
-
-    Q_PROPERTY(bool DeliveryReportRequest READ deliveryReportRequest)
-    inline bool deliveryReportRequest() const
-    { return qvariant_cast< bool >(property("DeliveryReportRequest")); }
-
-    Q_PROPERTY(uint DeliveryState READ deliveryState)
-    inline uint deliveryState() const
-    { return qvariant_cast< uint >(property("DeliveryState")); }
-
-    Q_PROPERTY(QString DischargeTimestamp READ dischargeTimestamp)
-    inline QString dischargeTimestamp() const
-    { return qvariant_cast< QString >(property("DischargeTimestamp")); }
-
-    Q_PROPERTY(uint MessageReference READ messageReference)
-    inline uint messageReference() const
-    { return qvariant_cast< uint >(property("MessageReference")); }
-
-    Q_PROPERTY(QString Number READ number)
-    inline QString number() const
-    { return qvariant_cast< QString >(property("Number")); }
-
-    Q_PROPERTY(uint PduType READ pduType)
-    inline uint pduType() const
-    { return qvariant_cast< uint >(property("PduType")); }
-
-    Q_PROPERTY(QString SMSC READ sMSC)
-    inline QString sMSC() const
-    { return qvariant_cast< QString >(property("SMSC")); }
-
-    Q_PROPERTY(uint State READ state)
-    inline uint state() const
-    { return qvariant_cast< uint >(property("State")); }
-
-    Q_PROPERTY(uint Storage READ storage)
-    inline uint storage() const
-    { return qvariant_cast< uint >(property("Storage")); }
-
-    Q_PROPERTY(QString Text READ text)
-    inline QString text() const
-    { return qvariant_cast< QString >(property("Text")); }
-
-    Q_PROPERTY(QString Timestamp READ timestamp)
-    inline QString timestamp() const
-    { return qvariant_cast< QString >(property("Timestamp")); }
-
-    Q_PROPERTY(ValidityPair Validity READ validity)
-    inline ValidityPair validity() const
-    { return qvariant_cast< ValidityPair >(property("Validity")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<> Send()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("Send"), argumentList);
-    }
-
-    inline QDBusPendingReply<> Store(uint storage)
-    {
-        QList<QVariant> argumentList;
-        argumentList << QVariant::fromValue(storage);
-        return asyncCallWithArgumentList(QLatin1String("Store"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-};
-
-#endif
diff -pruN 1.0.1-2/dbus/Time.cpp 5.2.2-0ubuntu1/dbus/Time.cpp
--- 1.0.1-2/dbus/Time.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Time.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,26 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Time.xml -p Time -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * This file may have been hand-edited. Look for HAND-EDIT comments
- * before re-generating it.
- */
-
-#include "Time.h"
-
-/*
- * Implementation of interface class OrgFreedesktopModemManager1ModemTimeInterface
- */
-
-OrgFreedesktopModemManager1ModemTimeInterface::OrgFreedesktopModemManager1ModemTimeInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
-    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
-{
-}
-
-OrgFreedesktopModemManager1ModemTimeInterface::~OrgFreedesktopModemManager1ModemTimeInterface()
-{
-}
-
diff -pruN 1.0.1-2/dbus/Time.h 5.2.2-0ubuntu1/dbus/Time.h
--- 1.0.1-2/dbus/Time.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/dbus/Time.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,55 +0,0 @@
-/*
- * This file was generated by qdbusxml2cpp version 0.7
- * Command line was: qdbusxml2cpp org.freedesktop.ModemManager1.Modem.Time.xml -p Time -N
- *
- * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
- *
- * This is an auto-generated file.
- * Do not edit! All changes made to it will be lost.
- */
-
-#ifndef TIME_H_1371820047
-#define TIME_H_1371820047
-
-#include <QtCore/QObject>
-#include <QtCore/QByteArray>
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtCore/QVariant>
-#include <QtDBus/QtDBus>
-
-#include "generic-types.h"
-
-/*
- * Proxy class for interface org.freedesktop.ModemManager1.Modem.Time
- */
-class OrgFreedesktopModemManager1ModemTimeInterface: public QDBusAbstractInterface
-{
-    Q_OBJECT
-public:
-    static inline const char *staticInterfaceName()
-    { return "org.freedesktop.ModemManager1.Modem.Time"; }
-
-public:
-    OrgFreedesktopModemManager1ModemTimeInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
-
-    ~OrgFreedesktopModemManager1ModemTimeInterface();
-
-    Q_PROPERTY(QVariantMap NetworkTimezone READ networkTimezone)
-    inline QVariantMap networkTimezone() const
-    { return qvariant_cast< QVariantMap >(property("NetworkTimezone")); }
-
-public Q_SLOTS: // METHODS
-    inline QDBusPendingReply<QString> GetNetworkTime()
-    {
-        QList<QVariant> argumentList;
-        return asyncCallWithArgumentList(QLatin1String("GetNetworkTime"), argumentList);
-    }
-
-Q_SIGNALS: // SIGNALS
-    void NetworkTimeChanged(const QString &time);
-};
-
-#endif
diff -pruN 1.0.1-2/debian/changelog 5.2.2-0ubuntu1/debian/changelog
--- 1.0.1-2/debian/changelog	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/changelog	2015-03-24 14:35:38.000000000 +0000
@@ -1,29 +1,61 @@
-libmm-qt (1.0.1-2) unstable; urgency=medium
+libmm-qt (5.2.2-0ubuntu1) vivid; urgency=medium
 
-  * Release to unstable.
+  * New upstream release
 
- -- Maximiliano Curia <maxy@debian.org>  Fri, 28 Mar 2014 11:09:13 +0100
+ -- Scarlett Clark <sgclark@kubuntu.org>  Tue, 24 Mar 2015 07:35:38 -0700
 
-libmm-qt (1.0.1-1) experimental; urgency=medium
+libmm-qt (5.2.1-0ubuntu1) vivid; urgency=medium
+
+  * New upstream release
+
+ -- Scarlett Clark <sgclark@kubuntu.org>  Mon, 23 Feb 2015 09:44:19 -0800
+
+libmm-qt (5.2.0-0ubuntu1) vivid; urgency=medium
+
+  * New upstream release
+
+ -- Harald Sitter <sitter@kde.org>  Tue, 27 Jan 2015 14:55:50 +0100
+
+libmm-qt (5.1.95-0ubuntu1) vivid; urgency=medium
+
+  * New upstream release
+  * New upstream beta release
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Thu, 15 Jan 2015 01:33:22 +0100
+
+libmm-qt (5.1.1-0ubuntu1) vivid; urgency=medium
 
   * New upstream release.
-  * Update build dependencies.
-  * Change package priority.
-  * Remove patch: libdir.diff, applied upstream
-  * Import ubuntu patch to bump soversion.
-  * Import ubuntu symbols file.
-  * Bump library package soversion.
-  * Aesthetic change, further reduce rules file.
-  * New patch: do_not_override_cflags
-  * Update symbols file.
-
- -- Maximiliano Curia <maxy@debian.org>  Fri, 28 Mar 2014 11:08:50 +0100
-
-libmm-qt (0.5.1-1) unstable; urgency=low
-
-  * Initial release. (Closes: #729959)
-  * New patch: libdir.diff, honour LIB_DESTINATION.
-  * Update symbols for s390x.
-  * Update symbols for armhf.
 
- -- Maximiliano Curia <maxy@debian.org>  Tue, 19 Nov 2013 20:36:54 +0100
+ -- Scarlett Clark <sgclark@kubuntu.org>  Mon, 10 Nov 2014 19:49:33 +0100
+
+libmm-qt (5.1.0.1-0ubuntu1) UNRELEASED; urgency=medium
+
+  * New upstream release
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Wed, 01 Oct 2014 16:08:43 +0200
+
+libmm-qt (5.0.93-0ubuntu1) utopic; urgency=medium
+
+  * New upstream release
+
+ -- Scarlett Clark <sgclark@kubuntu.org>  Thu, 18 Sep 2014 07:20:02 -0700
+
+libmm-qt (5.0.92-0ubuntu1) UNRELEASED; urgency=medium
+
+  [ Jonathan Riddell ]
+  * New upstream bugfix release
+
+  [ Harald Sitter ]
+  * switch to new pkg-kde-tools
+
+ -- Jonathan Riddell <jriddell@ubuntu.com>  Sun, 10 Aug 2014 17:04:17 +0200
+
+libmm-qt (5.0.91-0ubuntu1) utopic; urgency=medium
+
+  [ Scarlett Clark ]
+  * Initial release.
+  * Update watch to http://download.kde.org
+  * Update extra-cmake-modules depends version
+
+ -- Scarlett Clark <scarlett@scarlettgatelyclark.com>  Thu, 10 Jul 2014 10:24:08 +0100
diff -pruN 1.0.1-2/debian/control 5.2.2-0ubuntu1/debian/control
--- 1.0.1-2/debian/control	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/control	2015-03-24 14:35:38.000000000 +0000
@@ -1,43 +1,49 @@
 Source: libmm-qt
-Priority: optional
-Maintainer: Debian KDE Extras Team <pkg-kde-extras@lists.alioth.debian.org>
-Uploaders: Maximiliano Curia <maxy@debian.org>
-Build-Depends: cmake (>= 2.8),
-               debhelper (>= 9),
-               libqt4-dev,
-               modemmanager-dev (>= 0.8),
-               pkg-config
+Priority: extra
+Maintainer: Debian/Kubuntu Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
+Build-Depends: cmake,
+               debhelper (>= 9.0.0),
+               extra-cmake-modules (>= 1.3.0~),
+               libkf5networkmanagerqt-dev,
+               modemmanager-dev,
+               pkg-config,
+               pkg-kde-tools (>= 0.15.15ubuntu1~),
+               qtbase5-dev
 Standards-Version: 3.9.5
 Section: libs
-Homepage: https://projects.kde.org/projects/extragear/libs/libmm-qt
-Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/kde-extras/libmm-qt.git
-Vcs-Git: git://anonscm.debian.org/pkg-kde/kde-extras/libmm-qt.git
+Homepage: https://projects.kde.org/projects/kde/workspace/libmm-qt
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-kde/plasma/libmm-qt.git
+Vcs-Git: git://anonscm.debian.org/pkg-kde/plasma/libmm-qt.git
 
-Package: libmodemmanagerqt-dev
+Package: libkf5modemmanagerqt-dev
 Section: libdevel
 Architecture: any
-Depends: libmodemmanagerqt1 (= ${binary:Version}), ${misc:Depends}
-Description: Qt wrapper for ModemManager DBus API -- development files
- Qt-only wrapper for ModemManager DBus API.
+Depends: libkf5modemmanagerqt5 (= ${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Description: Qt wrapper for ModemManager - devel files.
+ Qt wrapper for ModemManager DBus API.
+ .
+ This package is part of KDE Plasma.
  .
- This package provides the development files.
+ This package contains the development files
 
-Package: libmodemmanagerqt1
+Package: libkf5modemmanagerqt5
 Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
-Description: Qt wrapper for ModemManager DBus API
- Qt-only wrapper for ModemManager DBus API.
+Description: Qt wrapper library for ModemManager
+ Qt wrapper for ModemManager DBus API.
+ .
+ This package is part of the KDE Plasma.
 
-Package: libmodemmanagerqt-dbg
+Package: libkf5modemmanagerqt5-dbg
 Section: debug
-Priority: extra
 Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends: libmodemmanagerqt1 (= ${binary:Version}), ${misc:Depends}
-Description: Qt wrapper for ModemManager DBus API -- debugging symbols
- Qt-only wrapper for ModemManager DBus API.
+Recommends: qtbase5-dbg
+Depends: libkf5modemmanagerqt5 (= ${binary:Version}), ${misc:Depends}
+Description: Qt wrapper for networkmanager - debug files
+ Qt wrapper for ModemManager DBus API.
+ .
+ This package is part of the KDE Plasma.
  .
- This package provides the debugging symbols.
+ This package contains the debugging symbols.
diff -pruN 1.0.1-2/debian/copyright 5.2.2-0ubuntu1/debian/copyright
--- 1.0.1-2/debian/copyright	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/copyright	2015-03-24 14:35:38.000000000 +0000
@@ -1,84 +1,54 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: libmm-qt
-Source: https://projects.kde.org/projects/extragear/libs/libmm-qt
+Source: ftp://ftp.kde.org/pub/kde/stable/plasma/libmm-qt
 
 Files: *
-Copyright: 2008-2011, Will Stephenson <wstephenson@kde.org>
-           2010-2013, Lamarque Souza <lamarque@kde.org>
-           2013, Daniel Nicoletti <dantti12@gmail.com>
-License: LGPL-2.1 or later as approved by kde e.v.
-
-Files: dbus/*
-Copyright: 2008 Novell, Inc.
-License: GPL-2+
-
-Files: ModemManagerQt-export.h
-Copyright: 2009, Dario Freddi <drf@kde.org>
-           2007, David Faure <faure@kde.org>
-License: LGPL-2+
+Copyright: 2013-2014 Lukas Tinkl <ltinkl@redhat.com> <jgrulich@redhat.com>
+           2013 Grulich <jgrulich@redhat.com>
+           2010-2013 Lamarque Souza <lamarque@kde.org>
+           2008, 2011 Will Stephenson <wstephenson@kde.org>
+           2013 Anant Kamath <kamathanant@gmail.com>
+           2013 Daniel Nicoletti <dantti12@gmail.com>
+           2013 Lamarque V. Souza <lamarque@kde.org>
+           2014 Scarlett Clark <scarlett@scarlettgatelyclark.com>
+License: LGPL-KDEeV
  This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
+ 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.
+ version 2.1 of the License, or (at your option) version 3, or any
+ later version accepted by the membership of KDE e.V. (or its
+ successor approved by the membership of KDE e.V.), which shall
+ act as a proxy defined in Section 6 of version 3 of the license.
  .
  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
- Library General Public License for more details.
+ 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 Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library.  If not, see <http://www.gnu.org/licenses/>.
  .
- On Debian systems, the complete text of the GNU Library General Public License
- version 2 can be found in "/usr/share/common-licenses/LGPL-2".
-
-Files: dbus/generic-types.cpp
-       dbus/generic-types.h
-Copyright: 2008-2011, Will Stephenson <wstephenson@kde.org>
-           2010-2013, Lamarque Souza <lamarque@kde.org>
-           2013, Daniel Nicoletti <dantti12@gmail.com>
-License: LGPL-2.1 or later as approved by kde e.v.
+ On Debian systems, the complete text of the GNU Lesser General
+ Public License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
 
-Files: debian/*
-Copyright: 2013, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
-           2013, Jonathan Riddell <jriddell@ubuntu.com>
-License: GPL-2+
-
-License: GPL-2+
- This package 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.
+Files: examples/main.cpp
+Copyright: 2013 Jan Grulich <jgrulich@redhat.com>
+License: GPL-KDEeV
+ 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) version 3 or any later version
+ accepted by the membership of KDE e.V. (or its successor approved
+ by the membership of KDE e.V.), which shall act as a proxy
+ defined in Section 14 of version 3 of the license.
  .
- This package is distributed in the hope that it will be useful,
+ 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 <http://www.gnu.org/licenses/>
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
  .
  On Debian systems, the complete text of the GNU General
  Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
-
-License: LGPL-2.1 or later as approved by kde e.v.
- 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.1 of the License, or (at your option) version 3, or any
- later version accepted by the membership of KDE e.V. (or its
- successor approved by the membership of KDE e.V.), which shall
- act as a proxy defined in Section 6 of version 3 of the license.
- .
- 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, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU Lesser General Public License
- version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
diff -pruN 1.0.1-2/debian/libkf5modemmanagerqt5.install 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt5.install
--- 1.0.1-2/debian/libkf5modemmanagerqt5.install	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt5.install	2015-03-24 14:35:38.000000000 +0000
@@ -0,0 +1 @@
+usr/lib/*/libKF5ModemManagerQt.so.*
diff -pruN 1.0.1-2/debian/libkf5modemmanagerqt5.symbols 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt5.symbols
--- 1.0.1-2/debian/libkf5modemmanagerqt5.symbols	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt5.symbols	2015-03-24 14:35:38.000000000 +0000
@@ -0,0 +1,417 @@
+# SymbolsHelper-Confirmed: 5.0.91 amd64
+libKF5ModemManagerQt.so.5 libkf5modemmanagerqt5 #MINVER#
+ _Z25registerModemManagerTypesv@Base 5.0.91
+ _ZN12ModemManager11ModemDevice10findBearerERK7QString@Base 5.0.91
+ _ZN12ModemManager11ModemDevice10simRemovedERK7QString@Base 5.0.91
+ _ZN12ModemManager11ModemDevice11bearerAddedERK7QString@Base 5.0.91
+ _ZN12ModemManager11ModemDevice11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager11ModemDevice11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager11ModemDevice13bearerRemovedERK7QString@Base 5.0.91
+ _ZN12ModemManager11ModemDevice14modemInterfaceEv@Base 5.0.91
+ _ZN12ModemManager11ModemDevice16onSimPathChangedERK7QStringS3_@Base 5.0.91
+ _ZN12ModemManager11ModemDevice16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager11ModemDevice17onInterfacesAddedERK15QDBusObjectPathRK4QMapI7QStringS4_IS5_8QVariantEE@Base 5.0.91
+ _ZN12ModemManager11ModemDevice18messagingInterfaceEv@Base 5.0.91
+ _ZN12ModemManager11ModemDevice19onInterfacesRemovedERK15QDBusObjectPathRK11QStringList@Base 5.0.91
+ _ZN12ModemManager11ModemDevice8simAddedERK7QString@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceC1ER18ModemDevicePrivateP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceC2ER18ModemDevicePrivateP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceD0Ev@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceD1Ev@Base 5.0.91
+ _ZN12ModemManager11ModemDeviceD2Ev@Base 5.0.91
+ _ZN12ModemManager11ModemSignal11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager11ModemSignal11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager11ModemSignal16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager11ModemSignal5setupEj@Base 5.0.91
+ _ZN12ModemManager11ModemSignalC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemSignalC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager11ModemSignalD0Ev@Base 5.0.91
+ _ZN12ModemManager11ModemSignalD1Ev@Base 5.0.91
+ _ZN12ModemManager11ModemSignalD2Ev@Base 5.0.91
+ _ZN12ModemManager11scanDevicesEv@Base 5.0.91
+ _ZN12ModemManager12modemDevicesEv@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd12stateChangedE27MMModem3gppUssdSessionState@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd21networkRequestChangedERK7QString@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd26networkNotificationChangedERK7QString@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd6cancelEv@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd7respondERK7QString@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssd8initiateERK7QString@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssdC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssdC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssdD0Ev@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssdD1Ev@Base 5.0.91
+ _ZN12ModemManager13Modem3gppUssdD2Ev@Base 5.0.91
+ _ZN12ModemManager13ModemFirmware10listImagesEv@Base 5.0.91
+ _ZN12ModemManager13ModemFirmware11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager13ModemFirmware11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager13ModemFirmware11selectImageERK7QString@Base 5.0.91
+ _ZN12ModemManager13ModemFirmware16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager13ModemFirmwareC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13ModemFirmwareC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13ModemFirmwareD0Ev@Base 5.0.91
+ _ZN12ModemManager13ModemFirmwareD1Ev@Base 5.0.91
+ _ZN12ModemManager13ModemFirmwareD2Ev@Base 5.0.91
+ _ZN12ModemManager13ModemLocation11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager13ModemLocation11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager13ModemLocation15locationChangedERK4QMapI21MMModemLocationSource8QVariantE@Base 5.0.91
+ _ZN12ModemManager13ModemLocation16isEnabledChangedEb@Base 5.0.91
+ _ZN12ModemManager13ModemLocation16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager13ModemLocation19capabilitiesChangedE6QFlagsI21MMModemLocationSourceE@Base 5.0.91
+ _ZN12ModemManager13ModemLocation19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager13ModemLocation22signalsLocationChangedEb@Base 5.0.91
+ _ZN12ModemManager13ModemLocation5setupE6QFlagsI21MMModemLocationSourceEb@Base 5.0.91
+ _ZN12ModemManager13ModemLocation8locationEv@Base 5.0.91
+ _ZN12ModemManager13ModemLocationC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13ModemLocationC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager13ModemLocationD0Ev@Base 5.0.91
+ _ZN12ModemManager13ModemLocationD1Ev@Base 5.0.91
+ _ZN12ModemManager13ModemLocationD2Ev@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging11findMessageERK7QString@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging12messageAddedERK7QStringb@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging13createMessageERK4QMapI7QString8QVariantE@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging13createMessageERKNS0_7MessageE@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging13deleteMessageERK7QString@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging14messageDeletedERK7QString@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging14onMessageAddedERK15QDBusObjectPathb@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging16onMessageDeletedERK15QDBusObjectPath@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager14ModemMessaging8messagesEv@Base 5.0.91
+ _ZN12ModemManager14ModemMessagingC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager14ModemMessagingC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager14ModemMessagingD0Ev@Base 5.0.91
+ _ZN12ModemManager14ModemMessagingD1Ev@Base 5.0.91
+ _ZN12ModemManager14ModemMessagingD2Ev@Base 5.0.91
+ _ZN12ModemManager15findModemDeviceERK7QString@Base 5.0.91
+ _ZN12ModemManager3Sim11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager3Sim11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager3Sim16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager3Sim7sendPinERK7QString@Base 5.0.91
+ _ZN12ModemManager3Sim7sendPukERK7QStringS3_@Base 5.0.91
+ _ZN12ModemManager3Sim9changePinERK7QStringS3_@Base 5.0.91
+ _ZN12ModemManager3Sim9enablePinERK7QStringb@Base 5.0.91
+ _ZN12ModemManager3SimC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager3SimC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager3SimD0Ev@Base 5.0.91
+ _ZN12ModemManager3SimD1Ev@Base 5.0.91
+ _ZN12ModemManager3SimD2Ev@Base 5.0.91
+ _ZN12ModemManager3Sms11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager3Sms11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager3Sms12stateChangedE10MMSmsState@Base 5.0.91
+ _ZN12ModemManager3Sms16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager3Sms19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager3Sms20deliveryStateChangedE18MMSmsDeliveryState@Base 5.0.91
+ _ZN12ModemManager3Sms4sendEv@Base 5.0.91
+ _ZN12ModemManager3Sms5storeE12MMSmsStorage@Base 5.0.91
+ _ZN12ModemManager3SmsC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager3SmsC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager3SmsD0Ev@Base 5.0.91
+ _ZN12ModemManager3SmsD1Ev@Base 5.0.91
+ _ZN12ModemManager3SmsD2Ev@Base 5.0.91
+ _ZN12ModemManager5Modem10setEnabledEb@Base 5.0.91
+ _ZN12ModemManager5Modem11listBearersEv@Base 5.0.91
+ _ZN12ModemManager5Modem11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager5Modem11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager5Modem12connectModemERK4QMapI7QString8QVariantE@Base 5.0.91
+ _ZN12ModemManager5Modem12createBearerERKNS0_12BearerStructE@Base 5.0.91
+ _ZN12ModemManager5Modem12deleteBearerERK7QString@Base 5.0.91
+ _ZN12ModemManager5Modem12factoryResetERK7QString@Base 5.0.91
+ _ZN12ModemManager5Modem12stateChangedE12MMModemStateS1_24MMModemStateChangeReason@Base 5.0.91
+ _ZN12ModemManager5Modem13deviceChangedERK7QString@Base 5.0.91
+ _ZN12ModemManager5Modem13setPowerStateE17MMModemPowerState@Base 5.0.91
+ _ZN12ModemManager5Modem14bearersChangedEv@Base 5.0.91
+ _ZN12ModemManager5Modem14driversChangedERK11QStringList@Base 5.0.91
+ _ZN12ModemManager5Modem14enabledChangedEb@Base 5.0.91
+ _ZN12ModemManager5Modem14onStateChangedEiij@Base 5.0.91
+ _ZN12ModemManager5Modem14simPathChangedERK7QStringS3_@Base 5.0.91
+ _ZN12ModemManager5Modem15disconnectModemERK7QString@Base 5.0.91
+ _ZN12ModemManager5Modem15setCurrentBandsERK5QListI11MMModemBandE@Base 5.0.91
+ _ZN12ModemManager5Modem15setCurrentModesERK16CurrentModesType@Base 5.0.91
+ _ZN12ModemManager5Modem16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager5Modem17powerStateChangedE17MMModemPowerState@Base 5.0.91
+ _ZN12ModemManager5Modem19currentModesChangedEv@Base 5.0.91
+ _ZN12ModemManager5Modem19disconnectAllModemsEv@Base 5.0.91
+ _ZN12ModemManager5Modem19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager5Modem20signalQualityChangedEj@Base 5.0.91
+ _ZN12ModemManager5Modem21unlockRequiredChangedE11MMModemLock@Base 5.0.91
+ _ZN12ModemManager5Modem22setCurrentCapabilitiesE6QFlagsI17MMModemCapabilityE@Base 5.0.91
+ _ZN12ModemManager5Modem23accessTechnologyChangedE6QFlagsI23MMModemAccessTechnologyE@Base 5.0.91
+ _ZN12ModemManager5Modem5resetEv@Base 5.0.91
+ _ZN12ModemManager5Modem6statusEv@Base 5.0.91
+ _ZN12ModemManager5Modem7commandERK7QStringj@Base 5.0.91
+ _ZN12ModemManager5ModemC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager5ModemC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager5ModemD0Ev@Base 5.0.91
+ _ZN12ModemManager5ModemD1Ev@Base 5.0.91
+ _ZN12ModemManager5ModemD2Ev@Base 5.0.91
+ _ZN12ModemManager6Bearer11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager6Bearer11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager6Bearer13connectBearerEv@Base 5.0.91
+ _ZN12ModemManager6Bearer16connectedChangedEb@Base 5.0.91
+ _ZN12ModemManager6Bearer16disconnectBearerEv@Base 5.0.91
+ _ZN12ModemManager6Bearer16interfaceChangedERK7QString@Base 5.0.91
+ _ZN12ModemManager6Bearer16ip4ConfigChangedEv@Base 5.0.91
+ _ZN12ModemManager6Bearer16ip6ConfigChangedEv@Base 5.0.91
+ _ZN12ModemManager6Bearer16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager6Bearer16suspendedChangedEb@Base 5.0.91
+ _ZN12ModemManager6Bearer19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager6BearerC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager6BearerC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager6BearerD0Ev@Base 5.0.91
+ _ZN12ModemManager6BearerD1Ev@Base 5.0.91
+ _ZN12ModemManager6BearerD2Ev@Base 5.0.91
+ _ZN12ModemManager8ModemOma11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager8ModemOma11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager8ModemOma13cancelSessionEv@Base 5.0.91
+ _ZN12ModemManager8ModemOma16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager8ModemOma19sessionStateChangedE17MMOmaSessionStateS1_29MMOmaSessionStateFailedReason@Base 5.0.91
+ _ZN12ModemManager8ModemOma27startClientInitiatedSessionE16MMOmaSessionType@Base 5.0.91
+ _ZN12ModemManager8ModemOma29acceptNetworkInitiatedSessionEjb@Base 5.0.91
+ _ZN12ModemManager8ModemOma5setupE6QFlagsI12MMOmaFeatureE@Base 5.0.91
+ _ZN12ModemManager8ModemOmaC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager8ModemOmaC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager8ModemOmaD0Ev@Base 5.0.91
+ _ZN12ModemManager8ModemOmaD1Ev@Base 5.0.91
+ _ZN12ModemManager8ModemOmaD2Ev@Base 5.0.91
+ _ZN12ModemManager8Notifier10modemAddedERK7QString@Base 5.0.91
+ _ZN12ModemManager8Notifier11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager8Notifier11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager8Notifier12modemRemovedERK7QString@Base 5.0.91
+ _ZN12ModemManager8Notifier15serviceAppearedEv@Base 5.0.91
+ _ZN12ModemManager8Notifier16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager8Notifier18serviceDisappearedEv@Base 5.0.91
+ _ZN12ModemManager8NotifierD0Ev@Base 5.0.91
+ _ZN12ModemManager8NotifierD1Ev@Base 5.0.91
+ _ZN12ModemManager8NotifierD2Ev@Base 5.0.91
+ _ZN12ModemManager8notifierEv@Base 5.0.91
+ _ZN12ModemManager9Interface11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager9Interface11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager9Interface16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager9InterfaceC1ER16InterfacePrivateP7QObject@Base 5.0.91
+ _ZN12ModemManager9InterfaceC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9InterfaceC2ER16InterfacePrivateP7QObject@Base 5.0.91
+ _ZN12ModemManager9InterfaceC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9InterfaceD0Ev@Base 5.0.91
+ _ZN12ModemManager9InterfaceD1Ev@Base 5.0.91
+ _ZN12ModemManager9InterfaceD2Ev@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp17registerToNetworkERK7QString@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp24registrationStateChangedE28MMModem3gppRegistrationState@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp27enabledFacilityLocksChangedE6QFlagsI19MMModem3gppFacilityE@Base 5.0.91
+ _ZN12ModemManager9Modem3gpp4scanEv@Base 5.0.91
+ _ZN12ModemManager9Modem3gppC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9Modem3gppC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9Modem3gppD0Ev@Base 5.0.91
+ _ZN12ModemManager9Modem3gppD1Ev@Base 5.0.91
+ _ZN12ModemManager9Modem3gppD2Ev@Base 5.0.91
+ _ZN12ModemManager9ModemCdma11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager9ModemCdma11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager9ModemCdma14activateManualERK4QMapI7QString8QVariantE@Base 5.0.91
+ _ZN12ModemManager9ModemCdma16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager9ModemCdma22activationStateChangedE26MMModemCdmaActivationState21MMCdmaActivationErrorRK4QMapI7QString8QVariantE@Base 5.0.91
+ _ZN12ModemManager9ModemCdma24onActivationStateChangedEjjRK4QMapI7QString8QVariantE@Base 5.0.91
+ _ZN12ModemManager9ModemCdma8activateERK7QString@Base 5.0.91
+ _ZN12ModemManager9ModemCdmaC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9ModemCdmaC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9ModemCdmaD0Ev@Base 5.0.91
+ _ZN12ModemManager9ModemCdmaD1Ev@Base 5.0.91
+ _ZN12ModemManager9ModemCdmaD2Ev@Base 5.0.91
+ _ZN12ModemManager9ModemTime11networkTimeEv@Base 5.0.91
+ _ZN12ModemManager9ModemTime11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.0.91
+ _ZN12ModemManager9ModemTime11qt_metacastEPKc@Base 5.0.91
+ _ZN12ModemManager9ModemTime16staticMetaObjectE@Base 5.0.91
+ _ZN12ModemManager9ModemTime18networkTimeChangedERK9QDateTime@Base 5.0.91
+ _ZN12ModemManager9ModemTime20onNetworkTimeChangedERK7QString@Base 5.0.91
+ _ZN12ModemManager9ModemTimeC1ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9ModemTimeC2ERK7QStringP7QObject@Base 5.0.91
+ _ZN12ModemManager9ModemTimeD0Ev@Base 5.0.91
+ _ZN12ModemManager9ModemTimeD1Ev@Base 5.0.91
+ _ZN12ModemManager9ModemTimeD2Ev@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice10interfacesEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice10isGsmModemEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice11isCdmaModemEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice12hasInterfaceENS0_13InterfaceTypeE@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice3simEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice3uniEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice7bearersEv@Base 5.0.91
+ _ZNK12ModemManager11ModemDevice9interfaceENS0_13InterfaceTypeE@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal3gsmEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal3lteEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal4cdmaEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal4evdoEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal4rateEv@Base 5.0.91
+ _ZNK12ModemManager11ModemSignal4umtsEv@Base 5.0.91
+ _ZNK12ModemManager13Modem3gppUssd10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager13Modem3gppUssd14networkRequestEv@Base 5.0.91
+ _ZNK12ModemManager13Modem3gppUssd19networkNotificationEv@Base 5.0.91
+ _ZNK12ModemManager13Modem3gppUssd5stateEv@Base 5.0.91
+ _ZNK12ModemManager13ModemFirmware10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager13ModemLocation10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager13ModemLocation12capabilitiesEv@Base 5.0.91
+ _ZNK12ModemManager13ModemLocation15signalsLocationEv@Base 5.0.91
+ _ZNK12ModemManager13ModemLocation19enabledCapabilitiesEv@Base 5.0.91
+ _ZNK12ModemManager13ModemLocation9isEnabledEv@Base 5.0.91
+ _ZNK12ModemManager14ModemMessaging10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager14ModemMessaging14defaultStorageEv@Base 5.0.91
+ _ZNK12ModemManager14ModemMessaging17supportedStoragesEv@Base 5.0.91
+ _ZNK12ModemManager3Sim10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager3Sim12operatorNameEv@Base 5.0.91
+ _ZNK12ModemManager3Sim13simIdentifierEv@Base 5.0.91
+ _ZNK12ModemManager3Sim18operatorIdentifierEv@Base 5.0.91
+ _ZNK12ModemManager3Sim3uniEv@Base 5.0.91
+ _ZNK12ModemManager3Sim4imsiEv@Base 5.0.91
+ _ZNK12ModemManager3Sms10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager3Sms13deliveryStateEv@Base 5.0.91
+ _ZNK12ModemManager3Sms13teleserviceIdEv@Base 5.0.91
+ _ZNK12ModemManager3Sms15serviceCategoryEv@Base 5.0.91
+ _ZNK12ModemManager3Sms16messageReferenceEv@Base 5.0.91
+ _ZNK12ModemManager3Sms18dischargeTimestampEv@Base 5.0.91
+ _ZNK12ModemManager3Sms21deliveryReportRequestEv@Base 5.0.91
+ _ZNK12ModemManager3Sms4dataEv@Base 5.0.91
+ _ZNK12ModemManager3Sms4smscEv@Base 5.0.91
+ _ZNK12ModemManager3Sms4textEv@Base 5.0.91
+ _ZNK12ModemManager3Sms5stateEv@Base 5.0.91
+ _ZNK12ModemManager3Sms6numberEv@Base 5.0.91
+ _ZNK12ModemManager3Sms7pduTypeEv@Base 5.0.91
+ _ZNK12ModemManager3Sms7storageEv@Base 5.0.91
+ _ZNK12ModemManager3Sms8smsClassEv@Base 5.0.91
+ _ZNK12ModemManager3Sms8validityEv@Base 5.0.91
+ _ZNK12ModemManager3Sms9timestampEv@Base 5.0.91
+ _ZNK12ModemManager5Modem10maxBearersEv@Base 5.0.91
+ _ZNK12ModemManager5Modem10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager5Modem10ownNumbersEv@Base 5.0.91
+ _ZNK12ModemManager5Modem10powerStateEv@Base 5.0.91
+ _ZNK12ModemManager5Modem11primaryPortEv@Base 5.0.91
+ _ZNK12ModemManager5Modem12currentBandsEv@Base 5.0.91
+ _ZNK12ModemManager5Modem12currentModesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem12manufacturerEv@Base 5.0.91
+ _ZNK12ModemManager5Modem13signalQualityEv@Base 5.0.91
+ _ZNK12ModemManager5Modem13unlockRetriesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem14supportedBandsEv@Base 5.0.91
+ _ZNK12ModemManager5Modem14supportedModesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem14unlockRequiredEv@Base 5.0.91
+ _ZNK12ModemManager5Modem16deviceIdentifierEv@Base 5.0.91
+ _ZNK12ModemManager5Modem16maxActiveBearersEv@Base 5.0.91
+ _ZNK12ModemManager5Modem17stateFailedReasonEv@Base 5.0.91
+ _ZNK12ModemManager5Modem18accessTechnologiesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem19currentCapabilitiesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem19equipmentIdentifierEv@Base 5.0.91
+ _ZNK12ModemManager5Modem19supportedIpFamiliesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem21supportedCapabilitiesEv@Base 5.0.91
+ _ZNK12ModemManager5Modem3uniEv@Base 5.0.91
+ _ZNK12ModemManager5Modem5modelEv@Base 5.0.91
+ _ZNK12ModemManager5Modem5portsEv@Base 5.0.91
+ _ZNK12ModemManager5Modem5stateEv@Base 5.0.91
+ _ZNK12ModemManager5Modem6deviceEv@Base 5.0.91
+ _ZNK12ModemManager5Modem6pluginEv@Base 5.0.91
+ _ZNK12ModemManager5Modem7driversEv@Base 5.0.91
+ _ZNK12ModemManager5Modem7isValidEv@Base 5.0.91
+ _ZNK12ModemManager5Modem7simPathEv@Base 5.0.91
+ _ZNK12ModemManager5Modem8revisionEv@Base 5.0.91
+ _ZNK12ModemManager5Modem9isEnabledEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer10propertiesEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer11isConnectedEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer11isSuspendedEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer3uniEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer9interfaceEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer9ip4ConfigEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer9ip6ConfigEv@Base 5.0.91
+ _ZNK12ModemManager6Bearer9ipTimeoutEv@Base 5.0.91
+ _ZNK12ModemManager8ModemOma10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager8ModemOma11sessionTypeEv@Base 5.0.91
+ _ZNK12ModemManager8ModemOma12sessionStateEv@Base 5.0.91
+ _ZNK12ModemManager8ModemOma31pendingNetworkInitiatedSessionsEv@Base 5.0.91
+ _ZNK12ModemManager8ModemOma8featuresEv@Base 5.0.91
+ _ZNK12ModemManager8Notifier10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager9Interface10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager9Interface3uniEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp12operatorCodeEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp12operatorNameEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp17registrationStateEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp20enabledFacilityLocksEv@Base 5.0.91
+ _ZNK12ModemManager9Modem3gpp4imeiEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma15activationStateEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma21evdoRegistrationStateEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma23cdma1xRegistrationStateEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma3esnEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma3nidEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma3sidEv@Base 5.0.91
+ _ZNK12ModemManager9ModemCdma4meidEv@Base 5.0.91
+ _ZNK12ModemManager9ModemTime10metaObjectEv@Base 5.0.91
+ _ZNK12ModemManager9ModemTime15networkTimeZoneEv@Base 5.0.91
+ _ZTIN12ModemManager11ModemDeviceE@Base 5.0.91
+ _ZTIN12ModemManager11ModemSignalE@Base 5.0.91
+ _ZTIN12ModemManager13Modem3gppUssdE@Base 5.0.91
+ _ZTIN12ModemManager13ModemFirmwareE@Base 5.0.91
+ _ZTIN12ModemManager13ModemLocationE@Base 5.0.91
+ _ZTIN12ModemManager14ModemMessagingE@Base 5.0.91
+ _ZTIN12ModemManager3SimE@Base 5.0.91
+ _ZTIN12ModemManager3SmsE@Base 5.0.91
+ _ZTIN12ModemManager5ModemE@Base 5.0.91
+ _ZTIN12ModemManager6BearerE@Base 5.0.91
+ _ZTIN12ModemManager8ModemOmaE@Base 5.0.91
+ _ZTIN12ModemManager8NotifierE@Base 5.0.91
+ _ZTIN12ModemManager9InterfaceE@Base 5.0.91
+ _ZTIN12ModemManager9Modem3gppE@Base 5.0.91
+ _ZTIN12ModemManager9ModemCdmaE@Base 5.0.91
+ _ZTIN12ModemManager9ModemTimeE@Base 5.0.91
+ _ZTSN12ModemManager11ModemDeviceE@Base 5.0.91
+ _ZTSN12ModemManager11ModemSignalE@Base 5.0.91
+ _ZTSN12ModemManager13Modem3gppUssdE@Base 5.0.91
+ _ZTSN12ModemManager13ModemFirmwareE@Base 5.0.91
+ _ZTSN12ModemManager13ModemLocationE@Base 5.0.91
+ _ZTSN12ModemManager14ModemMessagingE@Base 5.0.91
+ _ZTSN12ModemManager3SimE@Base 5.0.91
+ _ZTSN12ModemManager3SmsE@Base 5.0.91
+ _ZTSN12ModemManager5ModemE@Base 5.0.91
+ _ZTSN12ModemManager6BearerE@Base 5.0.91
+ _ZTSN12ModemManager8ModemOmaE@Base 5.0.91
+ _ZTSN12ModemManager8NotifierE@Base 5.0.91
+ _ZTSN12ModemManager9InterfaceE@Base 5.0.91
+ _ZTSN12ModemManager9Modem3gppE@Base 5.0.91
+ _ZTSN12ModemManager9ModemCdmaE@Base 5.0.91
+ _ZTSN12ModemManager9ModemTimeE@Base 5.0.91
+ _ZTVN12ModemManager11ModemDeviceE@Base 5.0.91
+ _ZTVN12ModemManager11ModemSignalE@Base 5.0.91
+ _ZTVN12ModemManager13Modem3gppUssdE@Base 5.0.91
+ _ZTVN12ModemManager13ModemFirmwareE@Base 5.0.91
+ _ZTVN12ModemManager13ModemLocationE@Base 5.0.91
+ _ZTVN12ModemManager14ModemMessagingE@Base 5.0.91
+ _ZTVN12ModemManager3SimE@Base 5.0.91
+ _ZTVN12ModemManager3SmsE@Base 5.0.91
+ _ZTVN12ModemManager5ModemE@Base 5.0.91
+ _ZTVN12ModemManager6BearerE@Base 5.0.91
+ _ZTVN12ModemManager8ModemOmaE@Base 5.0.91
+ _ZTVN12ModemManager8NotifierE@Base 5.0.91
+ _ZTVN12ModemManager9InterfaceE@Base 5.0.91
+ _ZTVN12ModemManager9Modem3gppE@Base 5.0.91
+ _ZTVN12ModemManager9ModemCdmaE@Base 5.0.91
+ _ZTVN12ModemManager9ModemTimeE@Base 5.0.91
+ _ZlsR13QDBusArgumentRK12ValidityPair@Base 5.0.91
+ _ZlsR13QDBusArgumentRK14OmaSessionType@Base 5.0.91
+ _ZlsR13QDBusArgumentRK16CurrentModesType@Base 5.0.91
+ _ZlsR13QDBusArgumentRK17SignalQualityPair@Base 5.0.91
+ _ZlsR13QDBusArgumentRK4Port@Base 5.0.91
+ _ZlsR13QDBusArgumentRK5QListI4QMapI7QString8QVariantEE@Base 5.0.91
+ _ZrsRK13QDBusArgumentR12ValidityPair@Base 5.0.91
+ _ZrsRK13QDBusArgumentR14OmaSessionType@Base 5.0.91
+ _ZrsRK13QDBusArgumentR16CurrentModesType@Base 5.0.91
+ _ZrsRK13QDBusArgumentR17SignalQualityPair@Base 5.0.91
+ _ZrsRK13QDBusArgumentR4Port@Base 5.0.91
+ _ZrsRK13QDBusArgumentR5QListI4QMapI7QString8QVariantEE@Base 5.0.91
diff -pruN 1.0.1-2/debian/libkf5modemmanagerqt-dev.install 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt-dev.install
--- 1.0.1-2/debian/libkf5modemmanagerqt-dev.install	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libkf5modemmanagerqt-dev.install	2015-03-24 14:35:38.000000000 +0000
@@ -0,0 +1,4 @@
+usr/include/*
+usr/lib/*/cmake/*
+usr/lib/*/libKF5ModemManagerQt.so
+usr/lib/*/qt5/mkspecs/*
diff -pruN 1.0.1-2/debian/libmodemmanagerqt1.install 5.2.2-0ubuntu1/debian/libmodemmanagerqt1.install
--- 1.0.1-2/debian/libmodemmanagerqt1.install	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libmodemmanagerqt1.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-usr/lib/*/libModemManagerQt.so.1
-usr/lib/*/libModemManagerQt.so.1.*
diff -pruN 1.0.1-2/debian/libmodemmanagerqt1.symbols 5.2.2-0ubuntu1/debian/libmodemmanagerqt1.symbols
--- 1.0.1-2/debian/libmodemmanagerqt1.symbols	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libmodemmanagerqt1.symbols	1970-01-01 00:00:00.000000000 +0000
@@ -1,852 +0,0 @@
-# SymbolsHelper-Confirmed: 1.0.1 amd64
-libModemManagerQt.so.1 libmodemmanagerqt1 #MINVER#
- (optional=templinst)_Z19qDBusMarshallHelperI12ValidityPairEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI16CurrentModesTypeEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI17SignalQualityPairEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI4QMapI7QStringS0_IS1_8QVariantEEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI4QMapIjjEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI5QListI15QDBusObjectPathEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI5QListI16CurrentModesTypeEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI5QListI4QMapI7QString8QVariantEEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z19qDBusMarshallHelperI5QListIjEEvR13QDBusArgumentPKT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI12ValidityPairEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI16CurrentModesTypeEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI17SignalQualityPairEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI4QMapI7QStringS0_IS1_8QVariantEEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI4QMapIjjEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI5QListI15QDBusObjectPathEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI5QListI16CurrentModesTypeEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI5QListI4QMapI7QString8QVariantEEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qDBusDemarshallHelperI5QListIjEEvRK13QDBusArgumentPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI11MMModemLockEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI12QDBusVariantEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI12ValidityPairEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI13QDBusArgumentEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI15QDBusObjectPathEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI16CurrentModesTypeEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI17SignalQualityPairEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI4QMapI21MMModemLocationSource8QVariantEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI4QMapI7QStringS0_IS1_8QVariantEEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI4QMapIjjEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI5QListI15QDBusObjectPathEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI5QListI16CurrentModesTypeEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI5QListI4QMapI7QString8QVariantEEEvPT_@Base 1.0.1
- (optional=templinst)_Z21qMetaTypeDeleteHelperI5QListIjEEvPT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI11MMModemLockEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI12QDBusVariantEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI12ValidityPairEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI13QDBusArgumentEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI15QDBusObjectPathEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI16CurrentModesTypeEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI17SignalQualityPairEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI4QMapI21MMModemLocationSource8QVariantEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI4QMapI7QStringS0_IS1_8QVariantEEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI4QMapIjjEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI5QListI15QDBusObjectPathEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI5QListI16CurrentModesTypeEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI5QListI4QMapI7QString8QVariantEEEPvPKT_@Base 1.0.1
- (optional=templinst)_Z24qMetaTypeConstructHelperI5QListIjEEPvPKT_@Base 1.0.1
- _Z25registerModemManagerTypesv@Base 1.0.1
- _ZN10QByteArrayD1Ev@Base 1.0.1
- _ZN10QByteArrayD2Ev@Base 1.0.1
- _ZN10QDBusErrorD1Ev@Base 1.0.1
- _ZN10QDBusErrorD2Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI11QStringListED1Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI11QStringListED2Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI15QDBusObjectPathED1Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI15QDBusObjectPathED2Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI4QMapI21MMModemLocationSource8QVariantEED1Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI4QMapI21MMModemLocationSource8QVariantEED2Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI5QListI15QDBusObjectPathEED1Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI5QListI15QDBusObjectPathEED2Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI7QStringED1Ev@Base 1.0.1
- (optional=templinst)_ZN10QDBusReplyI7QStringED2Ev@Base 1.0.1
- _ZN10SimPrivateC1ERK7QString@Base 1.0.1
- _ZN10SimPrivateC2ERK7QString@Base 1.0.1
- _ZN10SmsPrivateC1ERK7QString@Base 1.0.1
- _ZN10SmsPrivateC2ERK7QString@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI12QDBusVariantE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI12ValidityPairE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI13QDBusArgumentE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI15QDBusObjectPathE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI16CurrentModesTypeE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI17SignalQualityPairE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI4QMapI21MMModemLocationSource8QVariantEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI4QMapI7QStringS0_IS1_8QVariantEEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI4QMapIjjEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI5QListI15QDBusObjectPathEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI5QListI16CurrentModesTypeEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI5QListI4QMapI7QString8QVariantEEE14qt_metatype_idEv@Base 1.0.1
- (optional=templinst)_ZN11QMetaTypeIdI5QListIjEE14qt_metatype_idEv@Base 1.0.1
- _ZN12ModemManager11ModemDevice10findBearerERK7QString@Base 1.0.1
- _ZN12ModemManager11ModemDevice10simRemovedERK7QString@Base 1.0.1
- _ZN12ModemManager11ModemDevice11bearerAddedERK7QString@Base 1.0.1
- _ZN12ModemManager11ModemDevice11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager11ModemDevice11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager11ModemDevice13bearerRemovedERK7QString@Base 1.0.1
- _ZN12ModemManager11ModemDevice14modemInterfaceEv@Base 1.0.1
- _ZN12ModemManager11ModemDevice16onSimPathChangedERK7QStringS3_@Base 1.0.1
- _ZN12ModemManager11ModemDevice16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager11ModemDevice17onInterfacesAddedERK15QDBusObjectPathRK4QMapI7QStringS4_IS5_8QVariantEE@Base 1.0.1
- _ZN12ModemManager11ModemDevice18messagingInterfaceEv@Base 1.0.1
- _ZN12ModemManager11ModemDevice19onInterfacesRemovedERK15QDBusObjectPathRK11QStringList@Base 1.0.1
- _ZN12ModemManager11ModemDevice8simAddedERK7QString@Base 1.0.1
- _ZN12ModemManager11ModemDeviceC1ER18ModemDevicePrivateP7QObject@Base 1.0.1
- _ZN12ModemManager11ModemDeviceC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager11ModemDeviceC2ER18ModemDevicePrivateP7QObject@Base 1.0.1
- _ZN12ModemManager11ModemDeviceC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager11ModemDeviceD0Ev@Base 1.0.1
- _ZN12ModemManager11ModemDeviceD1Ev@Base 1.0.1
- _ZN12ModemManager11ModemDeviceD2Ev@Base 1.0.1
- _ZN12ModemManager11scanDevicesEv@Base 1.0.1
- _ZN12ModemManager12modemDevicesEv@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd12stateChangedE27MMModem3gppUssdSessionState@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd21networkRequestChangedERK7QString@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd26networkNotificationChangedERK7QString@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd6cancelEv@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd7respondERK7QString@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssd8initiateERK7QString@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssdC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssdC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssdD0Ev@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssdD1Ev@Base 1.0.1
- _ZN12ModemManager13Modem3gppUssdD2Ev@Base 1.0.1
- _ZN12ModemManager13ModemLocation11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager13ModemLocation11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager13ModemLocation15locationChangedERK4QMapI21MMModemLocationSource8QVariantE@Base 1.0.1
- _ZN12ModemManager13ModemLocation16isEnabledChangedEb@Base 1.0.1
- _ZN12ModemManager13ModemLocation16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager13ModemLocation19capabilitiesChangedE6QFlagsI21MMModemLocationSourceE@Base 1.0.1
- _ZN12ModemManager13ModemLocation19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager13ModemLocation22signalsLocationChangedEb@Base 1.0.1
- _ZN12ModemManager13ModemLocation5setupE6QFlagsI21MMModemLocationSourceEb@Base 1.0.1
- _ZN12ModemManager13ModemLocation8locationEv@Base 1.0.1
- _ZN12ModemManager13ModemLocationC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager13ModemLocationC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager13ModemLocationD0Ev@Base 1.0.1
- _ZN12ModemManager13ModemLocationD1Ev@Base 1.0.1
- _ZN12ModemManager13ModemLocationD2Ev@Base 1.0.1
- _ZN12ModemManager14ModemMessaging11findMessageERK7QString@Base 1.0.1
- _ZN12ModemManager14ModemMessaging11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager14ModemMessaging11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager14ModemMessaging12messageAddedERK7QStringb@Base 1.0.1
- _ZN12ModemManager14ModemMessaging13createMessageERK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN12ModemManager14ModemMessaging13createMessageERKNS0_7MessageE@Base 1.0.1
- _ZN12ModemManager14ModemMessaging13deleteMessageERK7QString@Base 1.0.1
- _ZN12ModemManager14ModemMessaging14messageDeletedERK7QString@Base 1.0.1
- _ZN12ModemManager14ModemMessaging14onMessageAddedERK15QDBusObjectPathb@Base 1.0.1
- _ZN12ModemManager14ModemMessaging16onMessageDeletedERK15QDBusObjectPath@Base 1.0.1
- _ZN12ModemManager14ModemMessaging16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager14ModemMessaging19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager14ModemMessaging8messagesEv@Base 1.0.1
- _ZN12ModemManager14ModemMessagingC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager14ModemMessagingC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager14ModemMessagingD0Ev@Base 1.0.1
- _ZN12ModemManager14ModemMessagingD1Ev@Base 1.0.1
- _ZN12ModemManager14ModemMessagingD2Ev@Base 1.0.1
- _ZN12ModemManager15findModemDeviceERK7QString@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate11scanDevicesEv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate12modemDevicesEv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate15findModemDeviceERK7QString@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate16daemonRegisteredEv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate17onInterfacesAddedERK15QDBusObjectPathRK4QMapI7QStringS4_IS5_8QVariantEE@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate18daemonUnregisteredEv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate19onInterfacesRemovedERK15QDBusObjectPathRK11QStringList@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivate4initEv@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivateC1Ev@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivateC2Ev@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivateD0Ev@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivateD1Ev@Base 1.0.1
- _ZN12ModemManager19ModemManagerPrivateD2Ev@Base 1.0.1
- _ZN12ModemManager3Sim11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager3Sim11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager3Sim16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager3Sim7sendPinERK7QString@Base 1.0.1
- _ZN12ModemManager3Sim7sendPukERK7QStringS3_@Base 1.0.1
- _ZN12ModemManager3Sim9changePinERK7QStringS3_@Base 1.0.1
- _ZN12ModemManager3Sim9enablePinERK7QStringb@Base 1.0.1
- _ZN12ModemManager3SimC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager3SimC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager3SimD0Ev@Base 1.0.1
- _ZN12ModemManager3SimD1Ev@Base 1.0.1
- _ZN12ModemManager3SimD2Ev@Base 1.0.1
- _ZN12ModemManager3Sms11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager3Sms11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager3Sms12stateChangedE10MMSmsState@Base 1.0.1
- _ZN12ModemManager3Sms16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager3Sms19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager3Sms20deliveryStateChangedE18MMSmsDeliveryState@Base 1.0.1
- _ZN12ModemManager3Sms4sendEv@Base 1.0.1
- _ZN12ModemManager3Sms5storeE12MMSmsStorage@Base 1.0.1
- _ZN12ModemManager3SmsC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager3SmsC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager3SmsD0Ev@Base 1.0.1
- _ZN12ModemManager3SmsD1Ev@Base 1.0.1
- _ZN12ModemManager3SmsD2Ev@Base 1.0.1
- _ZN12ModemManager5Modem10setEnabledEb@Base 1.0.1
- _ZN12ModemManager5Modem11listBearersEv@Base 1.0.1
- _ZN12ModemManager5Modem11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager5Modem11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager5Modem12connectModemERK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN12ModemManager5Modem12createBearerERKNS0_12BearerStructE@Base 1.0.1
- _ZN12ModemManager5Modem12deleteBearerERK7QString@Base 1.0.1
- _ZN12ModemManager5Modem12factoryResetERK7QString@Base 1.0.1
- _ZN12ModemManager5Modem12stateChangedE12MMModemStateS1_24MMModemStateChangeReason@Base 1.0.1
- _ZN12ModemManager5Modem13deviceChangedERK7QString@Base 1.0.1
- _ZN12ModemManager5Modem13setPowerStateE17MMModemPowerState@Base 1.0.1
- _ZN12ModemManager5Modem14driversChangedERK11QStringList@Base 1.0.1
- _ZN12ModemManager5Modem14enabledChangedEb@Base 1.0.1
- _ZN12ModemManager5Modem14onStateChangedEiij@Base 1.0.1
- _ZN12ModemManager5Modem14simPathChangedERK7QStringS3_@Base 1.0.1
- _ZN12ModemManager5Modem15disconnectModemERK7QString@Base 1.0.1
- _ZN12ModemManager5Modem15setCurrentBandsERK5QListI11MMModemBandE@Base 1.0.1
- _ZN12ModemManager5Modem15setCurrentModesERK16CurrentModesType@Base 1.0.1
- _ZN12ModemManager5Modem16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager5Modem17powerStateChangedE17MMModemPowerState@Base 1.0.1
- _ZN12ModemManager5Modem19currentModesChangedEv@Base 1.0.1
- _ZN12ModemManager5Modem19disconnectAllModemsEv@Base 1.0.1
- _ZN12ModemManager5Modem19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager5Modem20signalQualityChangedEj@Base 1.0.1
- _ZN12ModemManager5Modem21unlockRequiredChangedE11MMModemLock@Base 1.0.1
- _ZN12ModemManager5Modem22setCurrentCapabilitiesE6QFlagsI17MMModemCapabilityE@Base 1.0.1
- _ZN12ModemManager5Modem23accessTechnologyChangedE6QFlagsI23MMModemAccessTechnologyE@Base 1.0.1
- _ZN12ModemManager5Modem5resetEv@Base 1.0.1
- _ZN12ModemManager5Modem6statusEv@Base 1.0.1
- _ZN12ModemManager5Modem7commandERK7QStringj@Base 1.0.1
- _ZN12ModemManager5ModemC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager5ModemC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager5ModemD0Ev@Base 1.0.1
- _ZN12ModemManager5ModemD1Ev@Base 1.0.1
- _ZN12ModemManager5ModemD2Ev@Base 1.0.1
- _ZN12ModemManager6Bearer11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager6Bearer11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager6Bearer13connectBearerEv@Base 1.0.1
- _ZN12ModemManager6Bearer16connectedChangedEb@Base 1.0.1
- _ZN12ModemManager6Bearer16disconnectBearerEv@Base 1.0.1
- _ZN12ModemManager6Bearer16interfaceChangedERK7QString@Base 1.0.1
- _ZN12ModemManager6Bearer16ip4ConfigChangedEv@Base 1.0.1
- _ZN12ModemManager6Bearer16ip6ConfigChangedEv@Base 1.0.1
- _ZN12ModemManager6Bearer16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager6Bearer16suspendedChangedEb@Base 1.0.1
- _ZN12ModemManager6Bearer19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager6Bearer8IpConfigD1Ev@Base 1.0.1
- _ZN12ModemManager6Bearer8IpConfigD2Ev@Base 1.0.1
- _ZN12ModemManager6BearerC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager6BearerC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager6BearerD0Ev@Base 1.0.1
- _ZN12ModemManager6BearerD1Ev@Base 1.0.1
- _ZN12ModemManager6BearerD2Ev@Base 1.0.1
- _ZN12ModemManager8Notifier10modemAddedERK7QString@Base 1.0.1
- _ZN12ModemManager8Notifier11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager8Notifier11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager8Notifier12modemRemovedERK7QString@Base 1.0.1
- _ZN12ModemManager8Notifier15serviceAppearedEv@Base 1.0.1
- _ZN12ModemManager8Notifier16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager8Notifier18serviceDisappearedEv@Base 1.0.1
- _ZN12ModemManager8NotifierD0Ev@Base 1.0.1
- _ZN12ModemManager8NotifierD1Ev@Base 1.0.1
- _ZN12ModemManager8NotifierD2Ev@Base 1.0.1
- _ZN12ModemManager8notifierEv@Base 1.0.1
- _ZN12ModemManager9Interface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager9Interface11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager9Interface16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager9InterfaceC1ER16InterfacePrivateP7QObject@Base 1.0.1
- _ZN12ModemManager9InterfaceC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9InterfaceC2ER16InterfacePrivateP7QObject@Base 1.0.1
- _ZN12ModemManager9InterfaceC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9InterfaceD0Ev@Base 1.0.1
- _ZN12ModemManager9InterfaceD1Ev@Base 1.0.1
- _ZN12ModemManager9InterfaceD2Ev@Base 1.0.1
- _ZN12ModemManager9Modem3gpp11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager9Modem3gpp11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager9Modem3gpp16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager9Modem3gpp17registerToNetworkERK7QString@Base 1.0.1
- _ZN12ModemManager9Modem3gpp19onPropertiesChangedERK7QStringRK4QMapIS1_8QVariantERK11QStringList@Base 1.0.1
- _ZN12ModemManager9Modem3gpp24registrationStateChangedE28MMModem3gppRegistrationState@Base 1.0.1
- _ZN12ModemManager9Modem3gpp27enabledFacilityLocksChangedE6QFlagsI19MMModem3gppFacilityE@Base 1.0.1
- _ZN12ModemManager9Modem3gpp4scanEv@Base 1.0.1
- _ZN12ModemManager9Modem3gppC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9Modem3gppC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9Modem3gppD0Ev@Base 1.0.1
- _ZN12ModemManager9Modem3gppD1Ev@Base 1.0.1
- _ZN12ModemManager9Modem3gppD2Ev@Base 1.0.1
- _ZN12ModemManager9ModemCdma11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager9ModemCdma11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager9ModemCdma14activateManualERK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN12ModemManager9ModemCdma16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager9ModemCdma22activationStateChangedE26MMModemCdmaActivationState21MMCdmaActivationErrorRK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN12ModemManager9ModemCdma24onActivationStateChangedEjjRK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN12ModemManager9ModemCdma8activateERK7QString@Base 1.0.1
- _ZN12ModemManager9ModemCdmaC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9ModemCdmaC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9ModemCdmaD0Ev@Base 1.0.1
- _ZN12ModemManager9ModemCdmaD1Ev@Base 1.0.1
- _ZN12ModemManager9ModemCdmaD2Ev@Base 1.0.1
- _ZN12ModemManager9ModemTime11networkTimeEv@Base 1.0.1
- _ZN12ModemManager9ModemTime11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN12ModemManager9ModemTime11qt_metacastEPKc@Base 1.0.1
- _ZN12ModemManager9ModemTime16staticMetaObjectE@Base 1.0.1
- _ZN12ModemManager9ModemTime18networkTimeChangedERK9QDateTime@Base 1.0.1
- _ZN12ModemManager9ModemTime20onNetworkTimeChangedERK7QString@Base 1.0.1
- _ZN12ModemManager9ModemTimeC1ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9ModemTimeC2ERK7QStringP7QObject@Base 1.0.1
- _ZN12ModemManager9ModemTimeD0Ev@Base 1.0.1
- _ZN12ModemManager9ModemTimeD1Ev@Base 1.0.1
- _ZN12ModemManager9ModemTimeD2Ev@Base 1.0.1
- _ZN12ModemPrivateC1ERK7QString@Base 1.0.1
- _ZN12ModemPrivateC2ERK7QString@Base 1.0.1
- _ZN12ModemPrivateD0Ev@Base 1.0.1
- _ZN12ModemPrivateD1Ev@Base 1.0.1
- _ZN12ModemPrivateD2Ev@Base 1.0.1
- _ZN13BearerPrivateC1ERK7QString@Base 1.0.1
- _ZN13BearerPrivateC2ERK7QString@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager11ModemDeviceEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager14ModemMessagingEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager3SimEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager3SmsEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager5ModemEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager6BearerEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer16ExternalRefCountIN12ModemManager9InterfaceEE5derefEPNS_20ExternalRefCountDataEPS2_@Base 1.0.1
- _ZN15QtSharedPointer20ExternalRefCountData7destroyEv@Base 1.0.1
- _ZN15QtSharedPointer20ExternalRefCountDataD0Ev@Base 1.0.1
- _ZN15QtSharedPointer20ExternalRefCountDataD1Ev@Base 1.0.1
- _ZN15QtSharedPointer20ExternalRefCountDataD2Ev@Base 1.0.1
- _ZN15QtSharedPointer29ExternalRefCountWithDestroyFn7destroyEv@Base 1.0.1
- _ZN15QtSharedPointer29ExternalRefCountWithDestroyFnD0Ev@Base 1.0.1
- _ZN15QtSharedPointer29ExternalRefCountWithDestroyFnD1Ev@Base 1.0.1
- _ZN15QtSharedPointer29ExternalRefCountWithDestroyFnD2Ev@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN12ModemManager11ModemDeviceEM7QObjectFvvEE7deleterEPNS_20ExternalRefCountDataE@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN12ModemManager3SimEM7QObjectFvvEE7deleterEPNS_20ExternalRefCountDataE@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN12ModemManager3SmsEM7QObjectFvvEE7deleterEPNS_20ExternalRefCountDataE@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN12ModemManager6BearerEM7QObjectFvvEE7deleterEPNS_20ExternalRefCountDataE@Base 1.0.1
- (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN12ModemManager9InterfaceEM7QObjectFvvEE7deleterEPNS_20ExternalRefCountDataE@Base 1.0.1
- _ZN16InterfacePrivateC1ERK7QString@Base 1.0.1
- _ZN16InterfacePrivateC2ERK7QString@Base 1.0.1
- _ZN16InterfacePrivateD0Ev@Base 1.0.1
- _ZN16InterfacePrivateD1Ev@Base 1.0.1
- _ZN16InterfacePrivateD2Ev@Base 1.0.1
- _ZN16Modem3gppPrivateC1ERK7QString@Base 1.0.1
- _ZN16Modem3gppPrivateC2ERK7QString@Base 1.0.1
- _ZN16Modem3gppPrivateD0Ev@Base 1.0.1
- _ZN16Modem3gppPrivateD1Ev@Base 1.0.1
- _ZN16Modem3gppPrivateD2Ev@Base 1.0.1
- _ZN16ModemCdmaPrivateC1ERK7QString@Base 1.0.1
- _ZN16ModemCdmaPrivateC2ERK7QString@Base 1.0.1
- _ZN16ModemCdmaPrivateD0Ev@Base 1.0.1
- _ZN16ModemCdmaPrivateD1Ev@Base 1.0.1
- _ZN16ModemCdmaPrivateD2Ev@Base 1.0.1
- _ZN16ModemTimePrivateC1ERK7QString@Base 1.0.1
- _ZN16ModemTimePrivateC2ERK7QString@Base 1.0.1
- _ZN16ModemTimePrivateD0Ev@Base 1.0.1
- _ZN16ModemTimePrivateD1Ev@Base 1.0.1
- _ZN16ModemTimePrivateD2Ev@Base 1.0.1
- _ZN18ModemDevicePrivate10findBearerERK7QString@Base 1.0.1
- _ZN18ModemDevicePrivate10interfacesEv@Base 1.0.1
- _ZN18ModemDevicePrivate14initInterfacesEv@Base 1.0.1
- _ZN18ModemDevicePrivate15createInterfaceEN12ModemManager11ModemDevice13InterfaceTypeE@Base 1.0.1
- _ZN18ModemDevicePrivate3simEv@Base 1.0.1
- _ZN18ModemDevicePrivate4initEv@Base 1.0.1
- _ZN18ModemDevicePrivate7bearersEv@Base 1.0.1
- _ZN18ModemDevicePrivate9interfaceEN12ModemManager11ModemDevice13InterfaceTypeE@Base 1.0.1
- _ZN18ModemDevicePrivateC1ERK7QStringPN12ModemManager11ModemDeviceE@Base 1.0.1
- _ZN18ModemDevicePrivateC2ERK7QStringPN12ModemManager11ModemDeviceE@Base 1.0.1
- _ZN18ModemDevicePrivateD0Ev@Base 1.0.1
- _ZN18ModemDevicePrivateD1Ev@Base 1.0.1
- _ZN18ModemDevicePrivateD2Ev@Base 1.0.1
- _ZN20Modem3gppUssdPrivateC1ERK7QString@Base 1.0.1
- _ZN20Modem3gppUssdPrivateC2ERK7QString@Base 1.0.1
- _ZN20Modem3gppUssdPrivateD0Ev@Base 1.0.1
- _ZN20Modem3gppUssdPrivateD1Ev@Base 1.0.1
- _ZN20Modem3gppUssdPrivateD2Ev@Base 1.0.1
- _ZN20ModemLocationPrivateC1ERK7QString@Base 1.0.1
- _ZN20ModemLocationPrivateC2ERK7QString@Base 1.0.1
- _ZN20ModemLocationPrivateD0Ev@Base 1.0.1
- _ZN20ModemLocationPrivateD1Ev@Base 1.0.1
- _ZN20ModemLocationPrivateD2Ev@Base 1.0.1
- _ZN21MmCleanUpGlobalStaticD1Ev@Base 1.0.1
- _ZN21MmCleanUpGlobalStaticD2Ev@Base 1.0.1
- _ZN21ModemMessagingPrivate11findMessageERK7QString@Base 1.0.1
- _ZN21ModemMessagingPrivate8messagesEv@Base 1.0.1
- _ZN21ModemMessagingPrivateC1ERK7QString@Base 1.0.1
- _ZN21ModemMessagingPrivateC2ERK7QString@Base 1.0.1
- _ZN21ModemMessagingPrivateD0Ev@Base 1.0.1
- _ZN21ModemMessagingPrivateD1Ev@Base 1.0.1
- _ZN21ModemMessagingPrivateD2Ev@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1Interface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1Interface11qt_metacastEPKc@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1Interface16staticMetaObjectE@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1InterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1InterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1InterfaceD0Ev@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1InterfaceD1Ev@Base 1.0.1
- _ZN36OrgFreedesktopModemManager1InterfaceD2Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterface11qt_metacastEPKc@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterface16staticMetaObjectE@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterfaceD0Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterfaceD1Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SimInterfaceD2Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterface11qt_metacastEPKc@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterface16staticMetaObjectE@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterfaceD0Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterfaceD1Ev@Base 1.0.1
- _ZN39OrgFreedesktopModemManager1SmsInterfaceD2Ev@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterface11qt_metacastEPKc@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterface15InterfacesAddedERK15QDBusObjectPathRK4QMapI7QStringS3_IS4_8QVariantEE@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterface16staticMetaObjectE@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterface17InterfacesRemovedERK15QDBusObjectPathRK11QStringList@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterfaceD0Ev@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterfaceD1Ev@Base 1.0.1
- _ZN40OrgFreedesktopDBusObjectManagerInterfaceD2Ev@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterface11qt_metacastEPKc@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterface12StateChangedEiij@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterface16staticMetaObjectE@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterfaceD0Ev@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterfaceD1Ev@Base 1.0.1
- _ZN41OrgFreedesktopModemManager1ModemInterfaceD2Ev@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterface11qt_metacastEPKc@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterface16staticMetaObjectE@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterfaceD0Ev@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterfaceD1Ev@Base 1.0.1
- _ZN42OrgFreedesktopModemManager1BearerInterfaceD2Ev@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterface11qt_metacastEPKc@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterface16staticMetaObjectE@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterface18NetworkTimeChangedERK7QString@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterfaceD0Ev@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterfaceD1Ev@Base 1.0.1
- _ZN45OrgFreedesktopModemManager1ModemTimeInterfaceD2Ev@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterface11qt_metacastEPKc@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterface16staticMetaObjectE@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterfaceD0Ev@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterfaceD1Ev@Base 1.0.1
- _ZN47OrgFreedesktopModemManager1ModemSimpleInterfaceD2Ev@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterface11qt_metacastEPKc@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterface16staticMetaObjectE@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterfaceD0Ev@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterfaceD1Ev@Base 1.0.1
- _ZN49OrgFreedesktopModemManager1ModemLocationInterfaceD2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI15QDBusObjectPathS_I7QStringS_IS1_8QVariantEEE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI15QDBusObjectPathS_I7QStringS_IS1_8QVariantEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI15QDBusObjectPathS_I7QStringS_IS1_8QVariantEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI21MMModemLocationSource8QVariantE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI21MMModemLocationSource8QVariantED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI21MMModemLocationSource8QVariantED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager11ModemDeviceEEE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager11ModemDeviceEEE6removeERKS0_@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager11ModemDeviceEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager11ModemDeviceEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager3SmsEEE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString14QSharedPointerIN12ModemManager3SmsEEE6removeERKS0_@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString8QVariantE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString8QVariantED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QString8QVariantED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QStringS_IS0_8QVariantEE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QStringS_IS0_8QVariantEED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapI7QStringS_IS0_8QVariantEED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapIN12ModemManager11ModemDevice13InterfaceTypeE14QSharedPointerINS0_9InterfaceEEE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapIN12ModemManager11ModemDevice13InterfaceTypeE14QSharedPointerINS0_9InterfaceEEE6removeERKS2_@Base 1.0.1
- (optional=templinst)_ZN4QMapIN12ModemManager11ModemDevice13InterfaceTypeE14QSharedPointerINS0_9InterfaceEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapIN12ModemManager11ModemDevice13InterfaceTypeE14QSharedPointerINS0_9InterfaceEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapIjjE13detach_helperEv@Base 1.0.1
- (optional=templinst)_ZN4QMapIjjED1Ev@Base 1.0.1
- (optional=templinst)_ZN4QMapIjjED2Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterface11qt_metacastEPKc@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterface16staticMetaObjectE@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterface5AddedERK15QDBusObjectPathb@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterface7DeletedERK15QDBusObjectPath@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterfaceD0Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterfaceD1Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemMessagingInterfaceD2Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterface11qt_metacastEPKc@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterface16staticMetaObjectE@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterfaceD0Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterfaceD1Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModem3gppInterfaceD2Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterface11qt_metacastEPKc@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterface16staticMetaObjectE@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterface22ActivationStateChangedEjjRK4QMapI7QString8QVariantE@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterfaceD0Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterfaceD1Ev@Base 1.0.1
- _ZN50OrgFreedesktopModemManager1ModemModemCdmaInterfaceD2Ev@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterface11qt_metacastEPKc@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterface16staticMetaObjectE@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterfaceC1ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterfaceC2ERK7QStringS2_RK15QDBusConnectionP7QObject@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterfaceD0Ev@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterfaceD1Ev@Base 1.0.1
- _ZN54OrgFreedesktopModemManager1ModemModem3gppUssdInterfaceD2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI11MMModemBandE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI11MMModemBandE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI11MMModemBandE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI11MMModemBandED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI11MMModemBandED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI12MMSmsStorageE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI12MMSmsStorageE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI12MMSmsStorageE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI12MMSmsStorageED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI12MMSmsStorageED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager11ModemDeviceEEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager11ModemDeviceEEE6appendERKS3_@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager11ModemDeviceEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager11ModemDeviceEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager3SmsEEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager3SmsEEE6appendERKS3_@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager3SmsEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager3SmsEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager6BearerEEE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager6BearerEEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager6BearerEEE6appendERKS3_@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager6BearerEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager6BearerEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager9InterfaceEEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager9InterfaceEEE6appendERKS3_@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager9InterfaceEEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI14QSharedPointerIN12ModemManager9InterfaceEEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathE5clearEv@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI15QDBusObjectPathED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeE5clearEv@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI16CurrentModesTypeED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI17MMModemCapabilityE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI17MMModemCapabilityE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEE5clearEv@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI4QMapI7QString8QVariantEEpLERKS4_@Base 1.0.1
- (optional=templinst)_ZN5QListI7QStringE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListI7QStringE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI7QStringE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI7QStringED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI7QStringED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI8QVariantE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListI8QVariantE6appendERKS0_@Base 1.0.1
- (optional=templinst)_ZN5QListI8QVariantED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListI8QVariantED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListIN12ModemManager11ModemDevice13InterfaceTypeEE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListIN12ModemManager11ModemDevice13InterfaceTypeEE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListIN12ModemManager11ModemDevice13InterfaceTypeEE6appendERKS2_@Base 1.0.1
- (optional=templinst)_ZN5QListIN12ModemManager11ModemDevice13InterfaceTypeEED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListIN12ModemManager11ModemDevice13InterfaceTypeEED2Ev@Base 1.0.1
- (optional=templinst)_ZN5QListIjE13detach_helperEi@Base 1.0.1
- (optional=templinst)_ZN5QListIjE18detach_helper_growEii@Base 1.0.1
- (optional=templinst)_ZN5QListIjE5clearEv@Base 1.0.1
- (optional=templinst)_ZN5QListIjE6appendERKj@Base 1.0.1
- (optional=templinst)_ZN5QListIjED1Ev@Base 1.0.1
- (optional=templinst)_ZN5QListIjED2Ev@Base 1.0.1
- _ZN6QDebugD1Ev@Base 1.0.1
- _ZN6QDebugD2Ev@Base 1.0.1
- _ZN7QStringD1Ev@Base 1.0.1
- _ZN7QStringD2Ev@Base 1.0.1
- _ZNK12ModemManager11ModemDevice10interfacesEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice10isGsmModemEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice11isCdmaModemEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice12hasInterfaceENS0_13InterfaceTypeE@Base 1.0.1
- _ZNK12ModemManager11ModemDevice3simEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice3uniEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice7bearersEv@Base 1.0.1
- _ZNK12ModemManager11ModemDevice9interfaceENS0_13InterfaceTypeE@Base 1.0.1
- _ZNK12ModemManager13Modem3gppUssd10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager13Modem3gppUssd14networkRequestEv@Base 1.0.1
- _ZNK12ModemManager13Modem3gppUssd19networkNotificationEv@Base 1.0.1
- _ZNK12ModemManager13Modem3gppUssd5stateEv@Base 1.0.1
- _ZNK12ModemManager13ModemLocation10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager13ModemLocation12capabilitiesEv@Base 1.0.1
- _ZNK12ModemManager13ModemLocation15signalsLocationEv@Base 1.0.1
- _ZNK12ModemManager13ModemLocation19enabledCapabilitiesEv@Base 1.0.1
- _ZNK12ModemManager13ModemLocation9isEnabledEv@Base 1.0.1
- _ZNK12ModemManager14ModemMessaging10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager14ModemMessaging14defaultStorageEv@Base 1.0.1
- _ZNK12ModemManager14ModemMessaging17supportedStoragesEv@Base 1.0.1
- _ZNK12ModemManager19ModemManagerPrivate10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager3Sim10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager3Sim12operatorNameEv@Base 1.0.1
- _ZNK12ModemManager3Sim13simIdentifierEv@Base 1.0.1
- _ZNK12ModemManager3Sim18operatorIdentifierEv@Base 1.0.1
- _ZNK12ModemManager3Sim3uniEv@Base 1.0.1
- _ZNK12ModemManager3Sim4imsiEv@Base 1.0.1
- _ZNK12ModemManager3Sms10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager3Sms13deliveryStateEv@Base 1.0.1
- _ZNK12ModemManager3Sms16messageReferenceEv@Base 1.0.1
- _ZNK12ModemManager3Sms18dischargeTimestampEv@Base 1.0.1
- _ZNK12ModemManager3Sms21deliveryReportRequestEv@Base 1.0.1
- _ZNK12ModemManager3Sms4dataEv@Base 1.0.1
- _ZNK12ModemManager3Sms4smscEv@Base 1.0.1
- _ZNK12ModemManager3Sms4textEv@Base 1.0.1
- _ZNK12ModemManager3Sms5stateEv@Base 1.0.1
- _ZNK12ModemManager3Sms6numberEv@Base 1.0.1
- _ZNK12ModemManager3Sms7pduTypeEv@Base 1.0.1
- _ZNK12ModemManager3Sms7storageEv@Base 1.0.1
- _ZNK12ModemManager3Sms8smsClassEv@Base 1.0.1
- _ZNK12ModemManager3Sms8validityEv@Base 1.0.1
- _ZNK12ModemManager3Sms9timestampEv@Base 1.0.1
- _ZNK12ModemManager5Modem10maxBearersEv@Base 1.0.1
- _ZNK12ModemManager5Modem10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager5Modem10ownNumbersEv@Base 1.0.1
- _ZNK12ModemManager5Modem10powerStateEv@Base 1.0.1
- _ZNK12ModemManager5Modem11primaryPortEv@Base 1.0.1
- _ZNK12ModemManager5Modem12currentBandsEv@Base 1.0.1
- _ZNK12ModemManager5Modem12currentModesEv@Base 1.0.1
- _ZNK12ModemManager5Modem12manufacturerEv@Base 1.0.1
- _ZNK12ModemManager5Modem13signalQualityEv@Base 1.0.1
- _ZNK12ModemManager5Modem13unlockRetriesEv@Base 1.0.1
- _ZNK12ModemManager5Modem14supportedBandsEv@Base 1.0.1
- _ZNK12ModemManager5Modem14supportedModesEv@Base 1.0.1
- _ZNK12ModemManager5Modem14unlockRequiredEv@Base 1.0.1
- _ZNK12ModemManager5Modem16deviceIdentifierEv@Base 1.0.1
- _ZNK12ModemManager5Modem16maxActiveBearersEv@Base 1.0.1
- _ZNK12ModemManager5Modem17stateFailedReasonEv@Base 1.0.1
- _ZNK12ModemManager5Modem18accessTechnologiesEv@Base 1.0.1
- _ZNK12ModemManager5Modem19currentCapabilitiesEv@Base 1.0.1
- _ZNK12ModemManager5Modem19equipmentIdentifierEv@Base 1.0.1
- _ZNK12ModemManager5Modem19supportedIpFamiliesEv@Base 1.0.1
- _ZNK12ModemManager5Modem21supportedCapabilitiesEv@Base 1.0.1
- _ZNK12ModemManager5Modem3uniEv@Base 1.0.1
- _ZNK12ModemManager5Modem5modelEv@Base 1.0.1
- _ZNK12ModemManager5Modem5stateEv@Base 1.0.1
- _ZNK12ModemManager5Modem6deviceEv@Base 1.0.1
- _ZNK12ModemManager5Modem6pluginEv@Base 1.0.1
- _ZNK12ModemManager5Modem7driversEv@Base 1.0.1
- _ZNK12ModemManager5Modem7isValidEv@Base 1.0.1
- _ZNK12ModemManager5Modem7simPathEv@Base 1.0.1
- _ZNK12ModemManager5Modem8revisionEv@Base 1.0.1
- _ZNK12ModemManager5Modem9isEnabledEv@Base 1.0.1
- _ZNK12ModemManager6Bearer10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager6Bearer10propertiesEv@Base 1.0.1
- _ZNK12ModemManager6Bearer11isConnectedEv@Base 1.0.1
- _ZNK12ModemManager6Bearer11isSuspendedEv@Base 1.0.1
- _ZNK12ModemManager6Bearer3uniEv@Base 1.0.1
- _ZNK12ModemManager6Bearer9interfaceEv@Base 1.0.1
- _ZNK12ModemManager6Bearer9ip4ConfigEv@Base 1.0.1
- _ZNK12ModemManager6Bearer9ip6ConfigEv@Base 1.0.1
- _ZNK12ModemManager6Bearer9ipTimeoutEv@Base 1.0.1
- _ZNK12ModemManager8Notifier10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager9Interface10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager9Interface3uniEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp12operatorCodeEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp12operatorNameEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp17registrationStateEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp20enabledFacilityLocksEv@Base 1.0.1
- _ZNK12ModemManager9Modem3gpp4imeiEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma15activationStateEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma21evdoRegistrationStateEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma23cdma1xRegistrationStateEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma3esnEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma3nidEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma3sidEv@Base 1.0.1
- _ZNK12ModemManager9ModemCdma4meidEv@Base 1.0.1
- _ZNK12ModemManager9ModemTime10metaObjectEv@Base 1.0.1
- _ZNK12ModemManager9ModemTime15networkTimeZoneEv@Base 1.0.1
- _ZNK18ModemDevicePrivate10introspectEv@Base 1.0.1
- _ZNK36OrgFreedesktopModemManager1Interface10metaObjectEv@Base 1.0.1
- _ZNK39OrgFreedesktopModemManager1SimInterface10metaObjectEv@Base 1.0.1
- _ZNK39OrgFreedesktopModemManager1SmsInterface10metaObjectEv@Base 1.0.1
- _ZNK40OrgFreedesktopDBusObjectManagerInterface10metaObjectEv@Base 1.0.1
- _ZNK41OrgFreedesktopModemManager1ModemInterface10metaObjectEv@Base 1.0.1
- _ZNK42OrgFreedesktopModemManager1BearerInterface10metaObjectEv@Base 1.0.1
- _ZNK45OrgFreedesktopModemManager1ModemTimeInterface10metaObjectEv@Base 1.0.1
- _ZNK47OrgFreedesktopModemManager1ModemSimpleInterface10metaObjectEv@Base 1.0.1
- _ZNK49OrgFreedesktopModemManager1ModemLocationInterface10metaObjectEv@Base 1.0.1
- (optional=templinst)_ZNK4QMapI7QString14QSharedPointerIN12ModemManager11ModemDeviceEEE15mutableFindNodeEPPN8QMapData4NodeERKS0_@Base 1.0.1
- (optional=templinst)_ZNK4QMapI7QString14QSharedPointerIN12ModemManager3SmsEEE15mutableFindNodeEPPN8QMapData4NodeERKS0_@Base 1.0.1
- (optional=templinst)_ZNK4QMapI7QString8QVariantE15mutableFindNodeEPPN8QMapData4NodeERKS0_@Base 1.0.1
- (optional=templinst)_ZNK4QMapI7QStringS_IS0_8QVariantEE4keysEv@Base 1.0.1
- (optional=templinst)_ZNK4QMapIN12ModemManager11ModemDevice13InterfaceTypeE14QSharedPointerINS0_9InterfaceEEE15mutableFindNodeEPPN8QMapData4NodeERKS2_@Base 1.0.1
- _ZNK50OrgFreedesktopModemManager1ModemMessagingInterface10metaObjectEv@Base 1.0.1
- _ZNK50OrgFreedesktopModemManager1ModemModem3gppInterface10metaObjectEv@Base 1.0.1
- _ZNK50OrgFreedesktopModemManager1ModemModemCdmaInterface10metaObjectEv@Base 1.0.1
- _ZNK54OrgFreedesktopModemManager1ModemModem3gppUssdInterface10metaObjectEv@Base 1.0.1
- (optional=templinst)_ZNK5QListI7QStringE8containsERKS0_@Base 1.0.1
- _ZTI12ModemPrivate@Base 1.0.1
- _ZTI16InterfacePrivate@Base 1.0.1
- _ZTI16Modem3gppPrivate@Base 1.0.1
- _ZTI16ModemCdmaPrivate@Base 1.0.1
- _ZTI16ModemTimePrivate@Base 1.0.1
- _ZTI18ModemDevicePrivate@Base 1.0.1
- _ZTI20Modem3gppUssdPrivate@Base 1.0.1
- _ZTI20ModemLocationPrivate@Base 1.0.1
- _ZTI21ModemMessagingPrivate@Base 1.0.1
- _ZTI36OrgFreedesktopModemManager1Interface@Base 1.0.1
- _ZTI39OrgFreedesktopModemManager1SimInterface@Base 1.0.1
- _ZTI39OrgFreedesktopModemManager1SmsInterface@Base 1.0.1
- _ZTI40OrgFreedesktopDBusObjectManagerInterface@Base 1.0.1
- _ZTI41OrgFreedesktopModemManager1ModemInterface@Base 1.0.1
- _ZTI42OrgFreedesktopModemManager1BearerInterface@Base 1.0.1
- _ZTI45OrgFreedesktopModemManager1ModemTimeInterface@Base 1.0.1
- _ZTI47OrgFreedesktopModemManager1ModemSimpleInterface@Base 1.0.1
- _ZTI49OrgFreedesktopModemManager1ModemLocationInterface@Base 1.0.1
- _ZTI50OrgFreedesktopModemManager1ModemMessagingInterface@Base 1.0.1
- _ZTI50OrgFreedesktopModemManager1ModemModem3gppInterface@Base 1.0.1
- _ZTI50OrgFreedesktopModemManager1ModemModemCdmaInterface@Base 1.0.1
- _ZTI54OrgFreedesktopModemManager1ModemModem3gppUssdInterface@Base 1.0.1
- _ZTIN12ModemManager11ModemDeviceE@Base 1.0.1
- _ZTIN12ModemManager13Modem3gppUssdE@Base 1.0.1
- _ZTIN12ModemManager13ModemLocationE@Base 1.0.1
- _ZTIN12ModemManager14ModemMessagingE@Base 1.0.1
- _ZTIN12ModemManager19ModemManagerPrivateE@Base 1.0.1
- _ZTIN12ModemManager3SimE@Base 1.0.1
- _ZTIN12ModemManager3SmsE@Base 1.0.1
- _ZTIN12ModemManager5ModemE@Base 1.0.1
- _ZTIN12ModemManager6BearerE@Base 1.0.1
- _ZTIN12ModemManager8NotifierE@Base 1.0.1
- _ZTIN12ModemManager9InterfaceE@Base 1.0.1
- _ZTIN12ModemManager9Modem3gppE@Base 1.0.1
- _ZTIN12ModemManager9ModemCdmaE@Base 1.0.1
- _ZTIN12ModemManager9ModemTimeE@Base 1.0.1
- _ZTIN15QtSharedPointer20ExternalRefCountDataE@Base 1.0.1
- _ZTIN15QtSharedPointer29ExternalRefCountWithDestroyFnE@Base 1.0.1
- _ZTS12ModemPrivate@Base 1.0.1
- _ZTS16InterfacePrivate@Base 1.0.1
- _ZTS16Modem3gppPrivate@Base 1.0.1
- _ZTS16ModemCdmaPrivate@Base 1.0.1
- _ZTS16ModemTimePrivate@Base 1.0.1
- _ZTS18ModemDevicePrivate@Base 1.0.1
- _ZTS20Modem3gppUssdPrivate@Base 1.0.1
- _ZTS20ModemLocationPrivate@Base 1.0.1
- _ZTS21ModemMessagingPrivate@Base 1.0.1
- _ZTS36OrgFreedesktopModemManager1Interface@Base 1.0.1
- _ZTS39OrgFreedesktopModemManager1SimInterface@Base 1.0.1
- _ZTS39OrgFreedesktopModemManager1SmsInterface@Base 1.0.1
- _ZTS40OrgFreedesktopDBusObjectManagerInterface@Base 1.0.1
- _ZTS41OrgFreedesktopModemManager1ModemInterface@Base 1.0.1
- _ZTS42OrgFreedesktopModemManager1BearerInterface@Base 1.0.1
- _ZTS45OrgFreedesktopModemManager1ModemTimeInterface@Base 1.0.1
- _ZTS47OrgFreedesktopModemManager1ModemSimpleInterface@Base 1.0.1
- _ZTS49OrgFreedesktopModemManager1ModemLocationInterface@Base 1.0.1
- _ZTS50OrgFreedesktopModemManager1ModemMessagingInterface@Base 1.0.1
- _ZTS50OrgFreedesktopModemManager1ModemModem3gppInterface@Base 1.0.1
- _ZTS50OrgFreedesktopModemManager1ModemModemCdmaInterface@Base 1.0.1
- _ZTS54OrgFreedesktopModemManager1ModemModem3gppUssdInterface@Base 1.0.1
- _ZTSN12ModemManager11ModemDeviceE@Base 1.0.1
- _ZTSN12ModemManager13Modem3gppUssdE@Base 1.0.1
- _ZTSN12ModemManager13ModemLocationE@Base 1.0.1
- _ZTSN12ModemManager14ModemMessagingE@Base 1.0.1
- _ZTSN12ModemManager19ModemManagerPrivateE@Base 1.0.1
- _ZTSN12ModemManager3SimE@Base 1.0.1
- _ZTSN12ModemManager3SmsE@Base 1.0.1
- _ZTSN12ModemManager5ModemE@Base 1.0.1
- _ZTSN12ModemManager6BearerE@Base 1.0.1
- _ZTSN12ModemManager8NotifierE@Base 1.0.1
- _ZTSN12ModemManager9InterfaceE@Base 1.0.1
- _ZTSN12ModemManager9Modem3gppE@Base 1.0.1
- _ZTSN12ModemManager9ModemCdmaE@Base 1.0.1
- _ZTSN12ModemManager9ModemTimeE@Base 1.0.1
- _ZTSN15QtSharedPointer20ExternalRefCountDataE@Base 1.0.1
- _ZTSN15QtSharedPointer29ExternalRefCountWithDestroyFnE@Base 1.0.1
- _ZTV12ModemPrivate@Base 1.0.1
- _ZTV16InterfacePrivate@Base 1.0.1
- _ZTV16Modem3gppPrivate@Base 1.0.1
- _ZTV16ModemCdmaPrivate@Base 1.0.1
- _ZTV16ModemTimePrivate@Base 1.0.1
- _ZTV18ModemDevicePrivate@Base 1.0.1
- _ZTV20Modem3gppUssdPrivate@Base 1.0.1
- _ZTV20ModemLocationPrivate@Base 1.0.1
- _ZTV21ModemMessagingPrivate@Base 1.0.1
- _ZTV36OrgFreedesktopModemManager1Interface@Base 1.0.1
- _ZTV39OrgFreedesktopModemManager1SimInterface@Base 1.0.1
- _ZTV39OrgFreedesktopModemManager1SmsInterface@Base 1.0.1
- _ZTV40OrgFreedesktopDBusObjectManagerInterface@Base 1.0.1
- _ZTV41OrgFreedesktopModemManager1ModemInterface@Base 1.0.1
- _ZTV42OrgFreedesktopModemManager1BearerInterface@Base 1.0.1
- _ZTV45OrgFreedesktopModemManager1ModemTimeInterface@Base 1.0.1
- _ZTV47OrgFreedesktopModemManager1ModemSimpleInterface@Base 1.0.1
- _ZTV49OrgFreedesktopModemManager1ModemLocationInterface@Base 1.0.1
- _ZTV50OrgFreedesktopModemManager1ModemMessagingInterface@Base 1.0.1
- _ZTV50OrgFreedesktopModemManager1ModemModem3gppInterface@Base 1.0.1
- _ZTV50OrgFreedesktopModemManager1ModemModemCdmaInterface@Base 1.0.1
- _ZTV54OrgFreedesktopModemManager1ModemModem3gppUssdInterface@Base 1.0.1
- _ZTVN12ModemManager11ModemDeviceE@Base 1.0.1
- _ZTVN12ModemManager13Modem3gppUssdE@Base 1.0.1
- _ZTVN12ModemManager13ModemLocationE@Base 1.0.1
- _ZTVN12ModemManager14ModemMessagingE@Base 1.0.1
- _ZTVN12ModemManager19ModemManagerPrivateE@Base 1.0.1
- _ZTVN12ModemManager3SimE@Base 1.0.1
- _ZTVN12ModemManager3SmsE@Base 1.0.1
- _ZTVN12ModemManager5ModemE@Base 1.0.1
- _ZTVN12ModemManager6BearerE@Base 1.0.1
- _ZTVN12ModemManager8NotifierE@Base 1.0.1
- _ZTVN12ModemManager9InterfaceE@Base 1.0.1
- _ZTVN12ModemManager9Modem3gppE@Base 1.0.1
- _ZTVN12ModemManager9ModemCdmaE@Base 1.0.1
- _ZTVN12ModemManager9ModemTimeE@Base 1.0.1
- _ZTVN15QtSharedPointer20ExternalRefCountDataE@Base 1.0.1
- _ZTVN15QtSharedPointer29ExternalRefCountWithDestroyFnE@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI12QDBusVariantE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI12ValidityPairE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI13QDBusArgumentE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI15QDBusObjectPathE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI16CurrentModesTypeE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI17SignalQualityPairE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI4QMapI15QDBusObjectPathS0_I7QStringS0_IS2_8QVariantEEEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI4QMapI21MMModemLocationSource8QVariantEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI4QMapI7QStringS0_IS1_8QVariantEEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI4QMapIjjEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI5QListI15QDBusObjectPathEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI5QListI16CurrentModesTypeEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI5QListI4QMapI7QString8QVariantEEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- (optional=templinst)_ZZN11QMetaTypeIdI5QListIjEE14qt_metatype_idEvE11metatype_id@Base 1.0.1
- _ZlsR13QDBusArgumentRK12ValidityPair@Base 1.0.1
- _ZlsR13QDBusArgumentRK16CurrentModesType@Base 1.0.1
- _ZlsR13QDBusArgumentRK17SignalQualityPair@Base 1.0.1
- _ZlsR13QDBusArgumentRK5QListI4QMapI7QString8QVariantEE@Base 1.0.1
- (optional=templinst)_ZrsI15QDBusObjectPath4QMapI7QStringS1_IS2_8QVariantEEERK13QDBusArgumentS8_RS1_IT_T0_E@Base 1.0.1
- _ZrsRK13QDBusArgumentR12ValidityPair@Base 1.0.1
- _ZrsRK13QDBusArgumentR16CurrentModesType@Base 1.0.1
- _ZrsRK13QDBusArgumentR17SignalQualityPair@Base 1.0.1
- _ZrsRK13QDBusArgumentR5QListI4QMapI7QString8QVariantEE@Base 1.0.1
diff -pruN 1.0.1-2/debian/libmodemmanagerqt-dev.install 5.2.2-0ubuntu1/debian/libmodemmanagerqt-dev.install
--- 1.0.1-2/debian/libmodemmanagerqt-dev.install	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/libmodemmanagerqt-dev.install	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-usr/include/ModemManagerQt
-usr/lib/*/libModemManagerQt.so
-usr/lib/*/pkgconfig/ModemManagerQt.pc
diff -pruN 1.0.1-2/debian/meta/upstream_scm.json 5.2.2-0ubuntu1/debian/meta/upstream_scm.json
--- 1.0.1-2/debian/meta/upstream_scm.json	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/meta/upstream_scm.json	2015-03-24 14:35:38.000000000 +0000
@@ -0,0 +1 @@
+{"branch":"Plasma/5.2"}
\ No newline at end of file
diff -pruN 1.0.1-2/debian/patches/do_not_override_cflags 5.2.2-0ubuntu1/debian/patches/do_not_override_cflags
--- 1.0.1-2/debian/patches/do_not_override_cflags	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/patches/do_not_override_cflags	1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-Index: libmm-qt/CMakeLists.txt
-===================================================================
---- libmm-qt.orig/CMakeLists.txt	2014-03-03 10:15:18.103706269 +0100
-+++ libmm-qt/CMakeLists.txt	2014-03-03 10:17:32.798769146 +0100
-@@ -24,7 +24,7 @@
- include(CheckCXXCompilerFlag)
- check_cxx_compiler_flag("-Werror=return-type" HAVE_GCC_ERROR_RETURN_TYPE)
- if (HAVE_GCC_ERROR_RETURN_TYPE)
--    set(CMAKE_CXX_FLAGS "-Werror=return-type")
-+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
- endif()
- 
- include_directories(
diff -pruN 1.0.1-2/debian/patches/kubuntu_bump_soversion.diff 5.2.2-0ubuntu1/debian/patches/kubuntu_bump_soversion.diff
--- 1.0.1-2/debian/patches/kubuntu_bump_soversion.diff	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/patches/kubuntu_bump_soversion.diff	1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-Index: libmm-qt-1.0.1/CMakeLists.txt
-===================================================================
---- libmm-qt-1.0.1.orig/CMakeLists.txt	2014-02-16 23:28:23.000000000 +0000
-+++ libmm-qt-1.0.1/CMakeLists.txt	2014-02-17 15:39:54.098757975 +0000
-@@ -138,7 +138,7 @@
- 
- set_property(TARGET ModemManagerQt PROPERTY COMPILE_DEFINITIONS MAKE_MODEMMANAGERQT_LIB)
- set_property(TARGET ModemManagerQt PROPERTY VERSION ${VERSION})
--set_property(TARGET ModemManagerQt PROPERTY SOVERSION 0)
-+set_property(TARGET ModemManagerQt PROPERTY SOVERSION 1)
- 
- message(STATUS "Writing pkg-config file...")
- configure_file(${CMAKE_SOURCE_DIR}/ModemManagerQt.pc.cmake ${CMAKE_BINARY_DIR}/ModemManagerQt.pc @ONLY)
diff -pruN 1.0.1-2/debian/patches/series 5.2.2-0ubuntu1/debian/patches/series
--- 1.0.1-2/debian/patches/series	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-kubuntu_bump_soversion.diff
-do_not_override_cflags
diff -pruN 1.0.1-2/debian/rules 5.2.2-0ubuntu1/debian/rules
--- 1.0.1-2/debian/rules	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/rules	2015-03-24 14:35:38.000000000 +0000
@@ -1,12 +1,7 @@
 #!/usr/bin/make -f
+# -*- makefile -*-
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
+include /usr/share/pkg-kde-tools/qt-kde-team/3/debian-qt-kde.mk
 
-DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
-
-%:
-	dh $@ --parallel --dbg-package=libmodemmanagerqt-dbg
-
-override_dh_auto_configure:
-	dh_auto_configure -- -DLIB_DESTINATION=/usr/lib/$(DEB_HOST_MULTIARCH)
+override_dh_strip:
+	$(overridden_command) --dbg-package=libkf5modemmanagerqt5-dbg
diff -pruN 1.0.1-2/debian/source/lintian-overrides 5.2.2-0ubuntu1/debian/source/lintian-overrides
--- 1.0.1-2/debian/source/lintian-overrides	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/source/lintian-overrides	2015-03-24 14:35:38.000000000 +0000
@@ -0,0 +1 @@
+libmm-qt source: no-human-maintainers
diff -pruN 1.0.1-2/debian/watch 5.2.2-0ubuntu1/debian/watch
--- 1.0.1-2/debian/watch	2014-03-28 10:20:38.000000000 +0000
+++ 5.2.2-0ubuntu1/debian/watch	2015-03-24 14:35:38.000000000 +0000
@@ -1,2 +1,4 @@
 version=3
-ftp://ftp.kde.org/pub/kde/unstable/modemmanager-qt/([\d\.]*)/src/libmm-qt-([\d\.]*).tar.xz
+http://download.kde.org/unstable/plasma/([\d\.]+)/libmm-qt-(.*)\.tar\.xz
+
+http://download.kde.org/stable/plasma/([\d\.]+)/libmm-qt-(.*)\.tar\.xz
diff -pruN 1.0.1-2/examples/CMakeLists.txt 5.2.2-0ubuntu1/examples/CMakeLists.txt
--- 1.0.1-2/examples/CMakeLists.txt	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/examples/CMakeLists.txt	2015-03-19 12:29:47.000000000 +0000
@@ -1,22 +1,26 @@
 project(exampleModemManagerQt)
-cmake_minimum_required(VERSION 2.6)
+
+cmake_minimum_required(VERSION 2.8.12)
 
 include(FindPkgConfig)
-find_package(Qt4 REQUIRED)
+pkg_check_modules(MODEMMANAGER REQUIRED ModemManager>=1.0)
 
-pkg_check_modules(MODEMMANAGERQT REQUIRED ModemManagerQt)
-if (NOT MODEMMANAGERQT_FOUND)
-    message(FATAL_ERROR "ERROR: ModemManagerQt not found. http://projects.kde.org/search?q=networkmanager&scope=all&all_words=1&projects=1&submit=Submit")
-endif (NOT MODEMMANAGERQT_FOUND)
+find_package(KF5ModemManagerQt ${KF5_VERSION} REQUIRED)
 
-pkg_check_modules(MODEMMANAGER REQUIRED ModemManager)
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+    Core
+    DBus
+    Xml
+)
 
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${QTNETWORK_INCLUDE_DIRS} ${MODEMMANAGERQT_INCLUDE_DIRS} ${MODEMMANAGER_INCLUDE_DIRS} ${QT_INCLUDES})
-link_directories(${QTNETWORK_LIBRARY_DIRS} ${MODEMMANAGERQT_LIBRARY_DIRS} ${QT_QTDBUS_LIBRARY_DIRS})
+include_directories(${MODEMMANAGER_INCLUDE_DIRS})
 
 set(exampleModemManagerQt_SRCS
    main.cpp
 )
 
 add_executable(exampleModemManagerQt ${exampleModemManagerQt_SRCS})
-target_link_libraries(exampleModemManagerQt ModemManagerQt QtCore)
+target_link_libraries(exampleModemManagerQt
+    KF5::ModemManagerQt
+    Qt5::Core
+)
diff -pruN 1.0.1-2/examples/main.cpp 5.2.2-0ubuntu1/examples/main.cpp
--- 1.0.1-2/examples/main.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/examples/main.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -30,6 +30,8 @@
 
 int main(int argc, char *argv[])
 {
+    Q_UNUSED(argc);
+    Q_UNUSED(argv);
     qDebug() << "List of Modem Devices:";
     foreach (ModemManager::ModemDevice::Ptr modemdevice, ModemManager::modemDevices()) {
         ModemManager::Modem::Ptr modemInterface = modemdevice->modemInterface();
diff -pruN 1.0.1-2/interface.cpp 5.2.2-0ubuntu1/interface.cpp
--- 1.0.1-2/interface.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/interface.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,54 +0,0 @@
-/*
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "interface.h"
-#include "interface_p.h"
-
-InterfacePrivate::InterfacePrivate(const QString &path)
-    : uni(path)
-{
-}
-
-InterfacePrivate::~InterfacePrivate()
-{
-}
-
-ModemManager::Interface::Interface(const QString &path, QObject *parent)
-    : QObject(parent)
-    , d_ptr(new InterfacePrivate(path))
-{
-}
-
-ModemManager::Interface::Interface(InterfacePrivate &dd, QObject *parent)
-    : QObject(parent)
-    , d_ptr(&dd)
-{
-}
-
-ModemManager::Interface::~Interface()
-{
-    delete d_ptr;
-}
-
-QString ModemManager::Interface::uni() const
-{
-    Q_D(const Interface);
-    return d->uni;
-}
diff -pruN 1.0.1-2/interface.h 5.2.2-0ubuntu1/interface.h
--- 1.0.1-2/interface.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/interface.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,59 +0,0 @@
-/*
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_INTERFACE_H
-#define MODEMMANAGERQT_INTERFACE_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QVariant>
-#include <QSharedPointer>
-#include <QDBusObjectPath>
-
-#include "generic-types.h"
-
-class InterfacePrivate;
-
-namespace ModemManager
-{
-class MODEMMANAGERQT_EXPORT Interface : public QObject
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Interface)
-
-    Q_PROPERTY(QString uni READ uni)
-
-public:
-    typedef QSharedPointer<Interface> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit Interface(const QString &path, QObject *parent = 0);
-    explicit Interface(InterfacePrivate &dd, QObject *parent = 0);
-    virtual ~Interface();
-
-    QString uni() const;
-
-protected:
-    InterfacePrivate *const d_ptr;
-};
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/interface_p.h 5.2.2-0ubuntu1/interface_p.h
--- 1.0.1-2/interface_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/interface_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-/*
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_INTERFACE_P_H
-#define MODEMMANAGERQT_INTERFACE_P_H
-
-#include <QString>
-
-class InterfacePrivate
-{
-public:
-    explicit InterfacePrivate(const QString &path);
-    virtual ~InterfacePrivate();
-    QString uni;
-};
-
-#endif
diff -pruN 1.0.1-2/KF5ModemManagerQtConfig.cmake.in 5.2.2-0ubuntu1/KF5ModemManagerQtConfig.cmake.in
--- 1.0.1-2/KF5ModemManagerQtConfig.cmake.in	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/KF5ModemManagerQtConfig.cmake.in	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,8 @@
+@PACKAGE_INIT@
+
+find_dependency(Qt5Core @REQUIRED_QT_VERSION@)
+
+
+include("${CMAKE_CURRENT_LIST_DIR}/KF5ModemManagerQtTargets.cmake")
+
+
diff -pruN 1.0.1-2/macros.h 5.2.2-0ubuntu1/macros.h
--- 1.0.1-2/macros.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/macros.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,82 +0,0 @@
-/*
-    Copyright 2011 Will Stephenson <wstephenson@kde.org>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MM_MACROS_H
-#define MM_MACROS_H
-
-# define MM_GLOBAL_STATIC_STRUCT_NAME(NAME)
-typedef void (*MmCleanUpFunction)();
-class MmCleanUpGlobalStatic
-{
-    public:
-        MmCleanUpFunction func;
-
-        inline ~MmCleanUpGlobalStatic() { func(); }
-};
-
-#define MM_GLOBAL_STATIC(TYPE, NAME) MM_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ())
-#define MM_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS)                            \
-static QBasicAtomicPointer<TYPE > _mm_static_##NAME = Q_BASIC_ATOMIC_INITIALIZER(0); \
-static bool _mm_static_##NAME##_destroyed;                                      \
-static struct MM_GLOBAL_STATIC_STRUCT_NAME(NAME)                                \
-{                                                                              \
-    inline bool isDestroyed() const                                            \
-    {                                                                          \
-        return _mm_static_##NAME##_destroyed;                                   \
-    }                                                                          \
-    inline bool exists() const                                                 \
-    {                                                                          \
-        return _mm_static_##NAME != 0;                                          \
-    }                                                                          \
-    inline operator TYPE*()                                                    \
-    {                                                                          \
-        return operator->();                                                   \
-    }                                                                          \
-    inline TYPE *operator->()                                                  \
-    {                                                                          \
-        if (!_mm_static_##NAME) {                                               \
-            if (isDestroyed()) {                                               \
-                qFatal("Fatal Error: Accessed global static '%s *%s()' after destruction. " \
-                       "Defined at %s:%d", #TYPE, #NAME, __FILE__, __LINE__);  \
-            }                                                                  \
-            TYPE *x = new TYPE ARGS;                                           \
-            if (!_mm_static_##NAME.testAndSetOrdered(0, x)                      \
-                && _mm_static_##NAME != x ) {                                   \
-                delete x;                                                      \
-            } else {                                                           \
-                static MmCleanUpGlobalStatic cleanUpObject = { destroy };       \
-            }                                                                  \
-        }                                                                      \
-        return _mm_static_##NAME;                                               \
-    }                                                                          \
-    inline TYPE &operator*()                                                   \
-    {                                                                          \
-        return *operator->();                                                  \
-    }                                                                          \
-    static void destroy()                                                      \
-    {                                                                          \
-        _mm_static_##NAME##_destroyed = true;                                   \
-        TYPE *x = _mm_static_##NAME;                                            \
-        _mm_static_##NAME = 0;                                                  \
-        delete x;                                                              \
-    }                                                                          \
-} NAME;
-
-#endif
diff -pruN 1.0.1-2/manager.cpp 5.2.2-0ubuntu1/manager.cpp
--- 1.0.1-2/manager.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/manager.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,211 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "manager.h"
-#include "manager_p.h"
-#include "macros.h"
-#include "mmdebug.h"
-#include "generic-types.h"
-#include "modem.h"
-
-MM_GLOBAL_STATIC(ModemManager::ModemManagerPrivate, globalModemManager)
-
-ModemManager::ModemManagerPrivate::ModemManagerPrivate()
-    : watcher(MM_DBUS_SERVICE, QDBusConnection::systemBus(), QDBusServiceWatcher::WatchForRegistration | QDBusServiceWatcher::WatchForUnregistration, this)
-    , iface(MM_DBUS_SERVICE, MM_DBUS_PATH, QDBusConnection::systemBus(), this)
-    , manager(MM_DBUS_SERVICE, MM_DBUS_PATH, QDBusConnection::systemBus(), this)
-{
-    qDBusRegisterMetaType<QList<QDBusObjectPath> >();
-    qDBusRegisterMetaType<NMVariantMapMap>();
-    qDBusRegisterMetaType<DBUSManagerStruct>();
-    qDBusRegisterMetaType<UIntList>();
-    registerModemManagerTypes();
-
-    bool serviceFound = manager.isValid();
-    if (!serviceFound) {
-        // find out whether it will be activated automatically
-        QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.DBus",
-                                                              "/org/freedesktop/DBus",
-                                                              "org.freedesktop.DBus",
-                                                              "ListActivatableNames");
-
-        QDBusReply<QStringList> reply = QDBusConnection::systemBus().call(message);
-        if (reply.isValid() && reply.value().contains(MM_DBUS_SERVICE)) {
-            QDBusConnection::systemBus().interface()->startService(MM_DBUS_SERVICE);
-            serviceFound = true;
-        }
-    }
-
-    if (serviceFound) {
-        connect(&manager, SIGNAL(InterfacesAdded(QDBusObjectPath,NMVariantMapMap)),
-                this, SLOT(onInterfacesAdded(QDBusObjectPath,NMVariantMapMap)));
-        connect(&manager, SIGNAL(InterfacesRemoved(QDBusObjectPath,QStringList)),
-                this, SLOT(onInterfacesRemoved(QDBusObjectPath,QStringList)));
-    }
-
-    connect(&watcher, SIGNAL(serviceRegistered(QString)), SLOT(daemonRegistered()));
-    connect(&watcher, SIGNAL(serviceUnregistered(QString)), SLOT(daemonUnregistered()));
-
-    init();
-}
-
-ModemManager::ModemManagerPrivate::~ModemManagerPrivate()
-{
-}
-
-void ModemManager::ModemManagerPrivate::init()
-{
-    modemList.clear();
-
-    QDBusPendingReply<DBUSManagerStruct> reply = manager.GetManagedObjects();
-    reply.waitForFinished();
-    if (!reply.isError()) {  // enum devices
-        Q_FOREACH(const QDBusObjectPath &path, reply.value().keys()) {
-            const QString uni = path.path();
-            mmDebug() << "Adding device" << uni;
-
-            if (uni == MM_DBUS_PATH || !uni.startsWith(MM_DBUS_MODEM_PREFIX)) // TODO checkme
-                continue;
-
-            modemList.insert(uni, ModemDevice::Ptr());
-            emit modemAdded(uni);
-        }
-    } else { // show error
-        qWarning() << "Failed enumerating MM objects:" << reply.error().name() << "\n" << reply.error().message();
-    }
-}
-
-ModemManager::ModemDevice::Ptr ModemManager::ModemManagerPrivate::findModemDevice(const QString &uni)
-{
-    ModemDevice::Ptr modem;
-    if (modemList.contains(uni)) {
-        if (modemList.value(uni)) {
-            modem = modemList.value(uni);
-        } else {
-            modem = ModemDevice::Ptr(new ModemDevice(uni), &QObject::deleteLater);
-            modemList[uni] = modem;
-        }
-    }
-    return modem;
-}
-
-ModemManager::ModemDevice::List ModemManager::ModemManagerPrivate::modemDevices()
-{
-    ModemDevice::List list;
-
-    QMap<QString, ModemDevice::Ptr>::const_iterator i;
-    for (i = modemList.constBegin(); i != modemList.constEnd(); ++i) {
-        ModemDevice::Ptr modem = findModemDevice(i.key());
-        if (!modem.isNull()) {
-            list.append(modem);
-        } else {
-            qWarning() << "warning: null modem Interface for" << i.key();
-        }
-    }
-
-    return list;
-}
-
-void ModemManager::ModemManagerPrivate::scanDevices()
-{
-    iface.ScanDevices();
-}
-
-void ModemManager::ModemManagerPrivate::daemonRegistered()
-{
-    init();
-    emit serviceAppeared();
-}
-
-void ModemManager::ModemManagerPrivate::daemonUnregistered()
-{
-    emit serviceDisappeared();
-    modemList.clear();
-}
-
-void ModemManager::ModemManagerPrivate::onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties)
-{
-    //TODO control added bearers and sim cards
-
-    const QString uni = object_path.path();
-
-    /* Ignore non-modems */
-    if (!uni.startsWith(MM_DBUS_MODEM_PREFIX)) {
-        return;
-    }
-
-    mmDebug() << uni << "has new interfaces:" << interfaces_and_properties.keys();
-
-    // new device, we don't know it yet
-    if (!modemList.contains(uni)) {
-        modemList.insert(uni, ModemDevice::Ptr());
-        emit modemAdded(uni);
-    }
-    // re-emit in case of modem type change (GSM <-> CDMA)
-    else if (modemList.contains(uni) && (interfaces_and_properties.keys().contains(MM_DBUS_INTERFACE_MODEM_MODEM3GPP) ||
-                                         interfaces_and_properties.keys().contains(MM_DBUS_INTERFACE_MODEM_MODEMCDMA))) {
-        emit modemAdded(uni);
-    }
-}
-
-void ModemManager::ModemManagerPrivate::onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces)
-{
-    //TODO control removed bearers and sim cards
-
-    const QString uni = object_path.path();
-
-    /* Ignore non-modems */
-    if (!uni.startsWith(MM_DBUS_MODEM_PREFIX)) {
-        return;
-    }
-
-    mmDebug() << uni << "lost interfaces:" << interfaces;
-
-    ModemDevice::Ptr modem = findModemDevice(uni);
-
-    if (!uni.isEmpty() && (interfaces.isEmpty() || (modem && modem->interfaces().isEmpty()))) {
-        emit modemRemoved(uni);
-        modemList.remove(uni);
-    }
-}
-
-ModemManager::ModemDevice::Ptr ModemManager::findModemDevice(const QString &uni)
-{
-    return globalModemManager->findModemDevice(uni);
-}
-
-ModemManager::ModemDevice::List ModemManager::modemDevices()
-{
-    return globalModemManager->modemDevices();
-}
-
-ModemManager::Notifier * ModemManager::notifier()
-{
-    return globalModemManager;
-}
-
-void ModemManager::scanDevices()
-{
-    globalModemManager->scanDevices();
-}
diff -pruN 1.0.1-2/manager.h 5.2.2-0ubuntu1/manager.h
--- 1.0.1-2/manager.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/manager.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,103 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MANAGER_H
-#define MODEMMANAGERQT_MANAGER_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QDBusObjectPath>
-#include <QSharedPointer>
-
-#include "modemdevice.h"
-
-/**
- * This namespace allows to query the underlying system to discover the available
- * modem interfaces
- * responsibility to notify when a modem interface or a modem appears or disappears.
- *
- * Note that it's implemented as a singleton and encapsulates the backend logic.
- */
-namespace ModemManager
-{
-class Modem;
-
-class MODEMMANAGERQT_EXPORT Notifier : public QObject
-{
-    Q_OBJECT
-Q_SIGNALS:
-    /**
-     * This signal is emitted when a new modem interface is available.
-     *
-     * @param udi the network interface identifier
-     */
-    void modemAdded(const QString &udi);
-    /**
-     * This signal is emitted when a network interface is not available anymore.
-     *
-     * @param udi the network interface identifier
-     */
-    void modemRemoved(const QString &udi);
-
-    /**
-      * This signal is emitted when the ModemManager DBus service goes away
-      */
-    void serviceDisappeared();
-    /**
-      * This signal is emitted when the ModemManager DBus service appears
-      */
-    void serviceAppeared();
-};
-
-/**
-  * Retrieves the list of all modem interfaces Unique Device Identifiers (UDIs)
-  * in the system. This method is the equivalent of enumerateDevices described
-  * in Modem Manager specification.
-  *
-  * Note: only HW modems are returned (Gsm or Cdma)
-  *
-  * @return the list of modem interfaces available in this system
-  */
-MODEMMANAGERQT_EXPORT ModemDevice::List modemDevices();
-
-/**
-  * Find a new ModemManagerInterface object given its UDI.
-  *
-  * Note: only Modem-inherited objects are returned (not SMS, SIM or Bearer objects)
-  *
-  * @param uni the identifier of the modem interface to find
-  * @returns a valid Modem object if there's a device having the given UDI, an invalid one otherwise
-  */
-MODEMMANAGERQT_EXPORT ModemDevice::Ptr findModemDevice(const QString &uni);
-
-/**
-  * Start a new scan for connected modem devices.
-  */
-MODEMMANAGERQT_EXPORT void scanDevices();
-
-MODEMMANAGERQT_EXPORT Notifier * notifier();
-}
-
-#endif
diff -pruN 1.0.1-2/manager_p.h 5.2.2-0ubuntu1/manager_p.h
--- 1.0.1-2/manager_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/manager_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,66 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MANAGER_P_H
-#define MODEMMANAGERQT_MANAGER_P_H
-
-#include <QObject>
-#include <QDBusServiceWatcher>
-
-#include "dbus/Modem.h"
-#include "dbus/Manager.h"
-#include "dbus/Modem3gpp.h"
-#include "dbus/dbus_manager.h"
-
-#include "manager.h"
-#include "modemdevice.h"
-
-namespace ModemManager
-{
-
-class Modem;
-class ModemManagerPrivate : public Notifier
-{
-Q_OBJECT
-
-public:
-    ModemManagerPrivate();
-    ~ModemManagerPrivate();
-    QDBusServiceWatcher watcher;
-    OrgFreedesktopModemManager1Interface iface;
-    QMap<QString, ModemDevice::Ptr> modemList;
-    OrgFreedesktopDBusObjectManagerInterface manager;
-    ModemManager::ModemDevice::Ptr findModemDevice(const QString &uni);
-    ModemManager::ModemDevice::List modemDevices();
-
-    void scanDevices();
-protected Q_SLOTS:
-    void init();
-    void daemonRegistered();
-    void daemonUnregistered();
-    void onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
-    void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
-};
-} // namespace ModemManager
-
-
-#endif
diff -pruN 1.0.1-2/mmdebug.h 5.2.2-0ubuntu1/mmdebug.h
--- 1.0.1-2/mmdebug.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/mmdebug.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-/*
-    Copyright 2011-2013 Lamarque Souza <lamarque@kde.org>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MMDEBUG_H
-#define MODEMMANAGERQT_MMDEBUG_H
-
-#include <QCoreApplication>
-#include <QDebug>
-
-#define mmDebug() \
-	qDebug() << "ModemManagerQt" << QCoreApplication::applicationName() << '(' << QCoreApplication::applicationPid() << ')' << __PRETTY_FUNCTION__ << ':'
-
-#endif
diff -pruN 1.0.1-2/modem3gpp.cpp 5.2.2-0ubuntu1/modem3gpp.cpp
--- 1.0.1-2/modem3gpp.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gpp.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,106 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modem3gpp.h"
-#include "modem3gpp_p.h"
-#include "mmdebug.h"
-#include "dbus/dbus.h"
-
-Modem3gppPrivate::Modem3gppPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modem3gppIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::Modem3gpp::Modem3gpp(const QString &path, QObject *parent)
-    : Interface(*new Modem3gppPrivate(path), parent)
-{
-    Q_D(Modem3gpp);
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-}
-
-ModemManager::Modem3gpp::~Modem3gpp()
-{
-}
-
-QString ModemManager::Modem3gpp::imei() const
-{
-    Q_D(const Modem3gpp);
-    return d->modem3gppIface.imei();
-}
-
-MMModem3gppRegistrationState ModemManager::Modem3gpp::registrationState() const
-{
-    Q_D(const Modem3gpp);
-    return (MMModem3gppRegistrationState)d->modem3gppIface.registrationState();
-}
-
-QString ModemManager::Modem3gpp::operatorCode() const
-{
-    Q_D(const Modem3gpp);
-    return d->modem3gppIface.operatorCode();
-}
-
-QString ModemManager::Modem3gpp::operatorName() const
-{
-    Q_D(const Modem3gpp);
-    return d->modem3gppIface.operatorName();
-}
-
-ModemManager::Modem3gpp::FacilityLocks ModemManager::Modem3gpp::enabledFacilityLocks() const
-{
-    Q_D(const Modem3gpp);
-    return (FacilityLocks)d->modem3gppIface.enabledFacilityLocks();
-}
-
-void ModemManager::Modem3gpp::registerToNetwork(const QString &networkId)
-{
-    Q_D(Modem3gpp);
-    d->modem3gppIface.Register(networkId);
-}
-
-QDBusPendingReply<ScanResultsType> ModemManager::Modem3gpp::scan()
-{
-    Q_D(Modem3gpp);
-    return d->modem3gppIface.Scan();
-}
-
-void ModemManager::Modem3gpp::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
-{
-    Q_D(Modem3gpp);
-    mmDebug() << interface << properties.keys();
-
-    if (interface == QString(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
-        QVariantMap::const_iterator it = properties.constFind(MM_MODEM_MODEM3GPP_PROPERTY_REGISTRATIONSTATE);
-        if (it != properties.constEnd()) {
-            emit registrationStateChanged((MMModem3gppRegistrationState) it->toUInt());
-        }
-
-        it = properties.constFind(MM_MODEM_MODEM3GPP_PROPERTY_ENABLEDFACILITYLOCKS);
-        if (it != properties.constEnd()) {
-            emit enabledFacilityLocksChanged((FacilityLocks) it->toUInt());
-        }
-    }
-}
diff -pruN 1.0.1-2/modem3gpp.h 5.2.2-0ubuntu1/modem3gpp.h
--- 1.0.1-2/modem3gpp.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gpp.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,139 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEM3GPP_H
-#define MODEMMANAGERQT_MODEM3GPP_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-
-#include "generic-types.h"
-#include "interface.h"
-
-class Modem3gppPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The Modem3gpp class
- *
- * This class provides access to specific actions that may be performed in modems with 3GPP capabilities.
- */
-class MODEMMANAGERQT_EXPORT Modem3gpp : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Modem3gpp)
-    Q_FLAGS(MMModem3gppFacility)
-
-public:
-    typedef QSharedPointer<Modem3gpp> Ptr;
-    typedef QList<Ptr> List;
-
-    Q_DECLARE_FLAGS(FacilityLocks, MMModem3gppFacility)
-
-    explicit Modem3gpp(const QString &path, QObject *parent = 0);
-    ~Modem3gpp();
-
-    /**
-     * @return the IMEI of the device
-     */
-    QString imei() const;
-
-    /**
-     * @return mobile registration status as defined in 3GPP TS 27.007 section 10.1.19
-     */
-    MMModem3gppRegistrationState registrationState() const;
-
-    /**
-     * @return code of the operator to which the mobile is currently registered.
-     *
-     * Returned in the format "MCCMNC", where MCC is the three-digit ITU E.212
-     * Mobile Country Code and MNC is the two- or three-digit GSM Mobile Network
-     * Code. e.g. e"31026" or "310260".
-     *
-     * If the MCC and MNC are not known or the mobile is not registered to a
-     * mobile network, this property will be an empty string.
-     */
-    QString operatorCode() const;
-
-    /**
-     * @return name of the operator to which the mobile is currently registered.
-     *
-     * If the operator name is not known or the mobile is not registered to a
-     * mobile network, this property will be an empty string.
-     */
-    QString operatorName() const;
-
-    /**
-     * @return QFlags of MMModem3gppFacility values for which PIN locking is enabled
-     */
-    FacilityLocks enabledFacilityLocks() const;
-
-    /**
-      * Register the device to network.
-      *
-      * @param networkId The operator ID (ie, "MCCMNC", like "310260") to register. An empty string can be used to register to the home network.
-    */
-    void registerToNetwork(const QString &networkId = QString());
-
-    /**
-     * Scan for available networks.
-     *
-     * @return a QList<QVariantMap> with the results, where each map may contain these values:
-     *
-     * "status": A MMModem3gppNetworkAvailability value representing network
-     * availability status, given as an unsigned integer (signature "u"). This
-     * key will always be present.
-     *
-     * "operator-long": Long-format name of operator, given as a string value
-     * (signature "s"). If the name is unknown, this field should not be present.
-     *
-     * "operator-short": Short-format name of operator, given as a string value
-     * (signature "s"). If the name is unknown, this field should not be present.
-     *
-     * "operator-code": Mobile code of the operator, given as a string value
-     * (signature "s"). Returned in the format "MCCMNC", where MCC is the
-     * three-digit ITU E.212 Mobile Country Code and MNC is the two- or
-     * three-digit GSM Mobile Network Code. e.g. "31026" or "310260".
-     *
-     * "access-technology": A MMModemAccessTechnology value representing the
-     * generic access technology used by this mobile network, given as an
-     * unsigned integer (signature "u").
-     */
-    QDBusPendingReply<ScanResultsType> scan();
-
-Q_SIGNALS:
-    void registrationStateChanged(MMModem3gppRegistrationState registrationState);
-    void enabledFacilityLocksChanged(FacilityLocks locks);
-
-private Q_SLOTS:
-    void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(Modem3gpp::FacilityLocks)
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modem3gpp_p.h 5.2.2-0ubuntu1/modem3gpp_p.h
--- 1.0.1-2/modem3gpp_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gpp_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_MODEM3GPP_P_H
-#define MODEMMANAGER_MODEM3GPP_P_H
-
-#include "dbus/Modem3gpp.h"
-#include "interface_p.h"
-
-class Modem3gppPrivate: public InterfacePrivate
-{
-public:
-    explicit Modem3gppPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemModem3gppInterface modem3gppIface;
-};
-
-#endif
diff -pruN 1.0.1-2/modem3gppussd.cpp 5.2.2-0ubuntu1/modem3gppussd.cpp
--- 1.0.1-2/modem3gppussd.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gppussd.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,116 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modem3gppussd.h"
-#include "modem3gppussd_p.h"
-#include "mmdebug.h"
-#include "dbus/dbus.h"
-
-Modem3gppUssdPrivate::Modem3gppUssdPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , ussdIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::Modem3gppUssd::Modem3gppUssd(const QString &path, QObject *parent)
-    : Interface(*new Modem3gppUssdPrivate(path), parent)
-{
-    Q_D(Modem3gppUssd);
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-}
-
-ModemManager::Modem3gppUssd::~Modem3gppUssd()
-{
-}
-
-void ModemManager::Modem3gppUssd::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
-{
-    mmDebug() << interface << properties.keys();
-
-    if (interface == QString(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
-        QLatin1String state(MM_MODEM_MODEM3GPP_USSD_PROPERTY_STATE);
-        QLatin1String networkNotification(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKNOTIFICATION);
-        QLatin1String networkRequest(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKREQUEST);
-
-        QVariantMap::const_iterator it = properties.constFind(state);
-        if ( it != properties.constEnd()) {
-            emit stateChanged((MMModem3gppUssdSessionState)it->toUInt());
-        }
-        it = properties.constFind(networkNotification);
-        if ( it != properties.constEnd()) {
-            emit networkNotificationChanged(it->toString());
-        }
-        it = properties.constFind(networkRequest);
-        if ( it != properties.constEnd()) {
-            emit networkRequestChanged(it->toString());
-        }
-    }
-}
-
-QString ModemManager::Modem3gppUssd::initiate(const QString &command)
-{
-    Q_D(Modem3gppUssd);
-    QDBusReply<QString> reply = d->ussdIface.Initiate(command);
-
-    if (reply.isValid()) {
-        return reply.value();
-    }
-    return QString();
-}
-
-QString ModemManager::Modem3gppUssd::respond(const QString &response)
-{
-    Q_D(Modem3gppUssd);
-    QDBusReply<QString> reply = d->ussdIface.Respond(response);
-
-    if (reply.isValid()) {
-        return reply.value();
-    }
-    return QString();
-}
-
-void ModemManager::Modem3gppUssd::cancel()
-{
-    Q_D(Modem3gppUssd);
-    d->ussdIface.Cancel();
-}
-
-MMModem3gppUssdSessionState ModemManager::Modem3gppUssd::state() const
-{
-    Q_D(const Modem3gppUssd);
-    return (MMModem3gppUssdSessionState)d->ussdIface.state();
-}
-
-QString ModemManager::Modem3gppUssd::networkNotification() const
-{
-    Q_D(const Modem3gppUssd);
-    return d->ussdIface.networkNotification();
-}
-
-QString ModemManager::Modem3gppUssd::networkRequest() const
-{
-    Q_D(const Modem3gppUssd);
-    return d->ussdIface.networkRequest();
-}
diff -pruN 1.0.1-2/modem3gppussd.h 5.2.2-0ubuntu1/modem3gppussd.h
--- 1.0.1-2/modem3gppussd.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gppussd.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,110 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEM3GPPUSSD_H
-#define MODEMMANAGERQT_MODEM3GPPUSSD_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-
-#include "generic-types.h"
-#include "interface.h"
-
-class Modem3gppUssdPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The Modem3gppUssd class
- *
- * This class provides access to actions based on the USSD protocol.
- */
-class MODEMMANAGERQT_EXPORT Modem3gppUssd : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Modem3gppUssd)
-
-public:
-    typedef QSharedPointer<Modem3gppUssd> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit Modem3gppUssd(const QString &path, QObject *parent = 0);
-    ~Modem3gppUssd();
-
-    /**
-     * Sends a USSD @p command string to the network initiating a USSD session.
-     *
-     * 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.
-     */
-    QString initiate(const QString &command);
-
-    /**
-     * Respond to a USSD request that is either initiated by the mobile network,
-     * or that is awaiting further input after initiate() was called.
-     */
-    QString respond(const QString &response);
-
-    /**
-     * Cancel an ongoing USSD session, either mobile or network initiated.
-     */
-    void cancel();
-
-    /**
-     * @return the state of any ongoing USSD session
-     */
-    MMModem3gppUssdSessionState state() const;
-
-    /**
-     * @return any network-initiated request to which no USSD response is required
-     *
-     * When no USSD session is active, or when there is no network- initiated request, this property will be an empty string.
-     */
-    QString networkNotification() const;
-
-    /**
-     * @return any pending network-initiated request for a response. Client
-     * should call respond() with the appropriate response to this request.
-     *
-     * When no USSD session is active, or when there is no pending
-     * network-initiated request, this property will be an empty string.
-     */
-    QString networkRequest() const;
-
-Q_SIGNALS:
-    // properties
-    void stateChanged(MMModem3gppUssdSessionState state);
-    void networkNotificationChanged(const QString &networkNotification);
-    void networkRequestChanged(const QString &networkRequest);
-
-private Q_SLOTS:
-    void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
-};
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modem3gppussd_p.h 5.2.2-0ubuntu1/modem3gppussd_p.h
--- 1.0.1-2/modem3gppussd_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem3gppussd_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEM3GPPUSSD_P_H
-#define MODEMMANAGERQT_MODEM3GPPUSSD_P_H
-
-#include "dbus/Modem3gppUssd.h"
-#include "interface_p.h"
-
-class Modem3gppUssdPrivate: public InterfacePrivate
-{
-public:
-    explicit Modem3gppUssdPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemModem3gppUssdInterface ussdIface;
-};
-
-#endif
diff -pruN 1.0.1-2/modemcdma.cpp 5.2.2-0ubuntu1/modemcdma.cpp
--- 1.0.1-2/modemcdma.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemcdma.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,104 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modemcdma.h"
-#include "modemcdma_p.h"
-#include "mmdebug.h"
-
-ModemCdmaPrivate::ModemCdmaPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modemCdmaIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::ModemCdma::ModemCdma(const QString &path, QObject *parent)
-    : Interface(*new ModemCdmaPrivate(path), parent)
-{
-    Q_D(ModemCdma);
-
-    connect(&d->modemCdmaIface, SIGNAL(ActivationStateChanged(uint,uint,QVariantMap)),
-            SLOT(onActivationStateChanged(uint,uint,QVariantMap)));
-}
-
-ModemManager::ModemCdma::~ModemCdma()
-{
-}
-
-void ModemManager::ModemCdma::activate(const QString &carrierCode)
-{
-    Q_D(ModemCdma);
-    d->modemCdmaIface.Activate(carrierCode);
-}
-
-void ModemManager::ModemCdma::activateManual(const QVariantMap &properties)
-{
-    Q_D(ModemCdma);
-    d->modemCdmaIface.ActivateManual(properties);
-}
-
-MMModemCdmaActivationState ModemManager::ModemCdma::activationState() const
-{
-    Q_D(const ModemCdma);
-    return (MMModemCdmaActivationState)d->modemCdmaIface.activationState();
-}
-
-QString ModemManager::ModemCdma::meid() const
-{
-    Q_D(const ModemCdma);
-    return d->modemCdmaIface.meid();
-}
-
-QString ModemManager::ModemCdma::esn() const
-{
-    Q_D(const ModemCdma);
-    return d->modemCdmaIface.esn();
-}
-
-uint ModemManager::ModemCdma::sid() const
-{
-    Q_D(const ModemCdma);
-    return d->modemCdmaIface.sid();
-}
-
-uint ModemManager::ModemCdma::nid() const
-{
-    Q_D(const ModemCdma);
-    return d->modemCdmaIface.nid();
-}
-
-MMModemCdmaRegistrationState ModemManager::ModemCdma::cdma1xRegistrationState() const
-{
-    Q_D(const ModemCdma);
-    return (MMModemCdmaRegistrationState)d->modemCdmaIface.cdma1xRegistrationState();
-}
-
-MMModemCdmaRegistrationState ModemManager::ModemCdma::evdoRegistrationState() const
-{
-    Q_D(const ModemCdma);
-    return (MMModemCdmaRegistrationState)d->modemCdmaIface.evdoRegistrationState();
-}
-
-void ModemManager::ModemCdma::onActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes)
-{
-    emit activationStateChanged((MMModemCdmaActivationState)activation_state, (MMCdmaActivationError)activation_error, status_changes);
-}
diff -pruN 1.0.1-2/modemcdma.h 5.2.2-0ubuntu1/modemcdma.h
--- 1.0.1-2/modemcdma.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemcdma.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,134 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMCDMA_H
-#define MODEMMANAGERQT_MODEMCDMA_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-#include <QVariant>
-
-#include "generic-types.h"
-#include "interface.h"
-
-class ModemCdmaPrivate;
-
-namespace ModemManager {
-/**
- * @brief The ModemCdma class
- *
- * This class provides access to specific actions that may be performed in modems with CDMA capabilities.
- */
-class MODEMMANAGERQT_EXPORT ModemCdma : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ModemCdma)
-public:
-    typedef QSharedPointer<ModemCdma> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit ModemCdma(const QString &path, QObject *parent = 0);
-    ~ModemCdma();
-
-    /**
-     * Provisions the modem for use with a given carrier using the modem's
-     * Over-The-Air (OTA) activation functionality, if any.
-     *
-     * Some modems will reboot after this call is made.
-     *
-     * @param carrierCode name of carrier, or carrier-specific code
-     */
-    void activate(const QString &carrierCode);
-
-    /**
-     * Sets the modem provisioning data directly, without contacting the carrier over the air.
-     *
-     * Some modems will reboot after this call is made.
-     *
-     * @param properties QVariantMap consisting of:
-     *
-     * "spc": The Service Programming Code, given as a string of exactly 6 digit characters. Mandatory parameter.
-     * "sid": The System Identification Number, given as a 16-bit unsigned integer (signature "q"). Mandatory parameter.
-     * "mdn": The Mobile Directory Number, given as a string of maximum 15 characters. Mandatory parameter.
-     * "min": The Mobile Identification Number, given as a string of maximum 15 characters. Mandatory parameter.
-     * "mn-ha-key": The MN-HA key, given as a string of maximum 16 characters.
-     * "mn-aaa-key": The MN-AAA key, given as a string of maximum 16 characters.
-     * "prl": The Preferred Roaming List, given as an array of maximum 16384 bytes.
-     */
-    void activateManual(const QVariantMap &properties);
-
-    /**
-     * @return a MMModemCdmaActivationState value specifying the state of the activation in the 3GPP2 network.
-     */
-    MMModemCdmaActivationState activationState() const;
-
-    /**
-     * @return the modem's Mobile Equipment Identifier.
-     */
-    QString meid() const;
-
-    /**
-     * @return the modem's Electronic Serial Number (superceded by MEID but still used by older devices).
-     */
-    QString esn() const;
-
-    /**
-     * @return the System Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network.
-     * @see http://ifast.org or the mobile broadband provider database for mappings of SIDs to network providers.
-     */
-    uint sid() const;
-
-    /**
-     * @return the Network Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network.
-     */
-    uint nid() const;
-
-    /**
-     * @return a MMModemCdmaRegistrationState value specifying the CDMA 1x registration state.
-     */
-    MMModemCdmaRegistrationState cdma1xRegistrationState() const;
-
-    /**
-     * @return a MMModemCdmaRegistrationState value specifying the EVDO registration state.
-     */
-    MMModemCdmaRegistrationState evdoRegistrationState() const;
-
-private Q_SLOTS:
-    void onActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes);
-
-Q_SIGNALS:
-    /**
-     * This signal is emitted when the activation info this network changes
-     *
-     * @param state current activation state, given as a MMModemCdmaActivationState.
-     * @param error carrier-specific error code, given as a MMCdmaActivationError.
-     * @param status_changes properties that have changed as a result of this activation state chage, including "mdn" and "min".
-     *                       The map may be empty if the changed properties are unknown.
-     */
-    void activationStateChanged(MMModemCdmaActivationState state, MMCdmaActivationError error, const QVariantMap &status_changes);
-};
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemcdma_p.h 5.2.2-0ubuntu1/modemcdma_p.h
--- 1.0.1-2/modemcdma_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemcdma_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMCDMA_P_H
-#define MODEMMANAGERQT_MODEMCDMA_P_H
-
-#include "interface_p.h"
-#include "dbus/ModemCdma.h"
-
-class ModemCdmaPrivate: public InterfacePrivate
-{
-public:
-    explicit ModemCdmaPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemModemCdmaInterface modemCdmaIface;
-};
-
-#endif
diff -pruN 1.0.1-2/modem.cpp 5.2.2-0ubuntu1/modem.cpp
--- 1.0.1-2/modem.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,440 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modem.h"
-#include "modem_p.h"
-
-#include "dbus/dbus.h"
-#include "generic-types.h"
-#include "mmdebug.h"
-
-#include <QDomDocument>
-
-
-ModemPrivate::ModemPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modemIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-    , modemSimpleIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-    device = modemIface.device();
-    drivers = modemIface.drivers();
-    simPath = modemIface.sim().path();
-}
-
-ModemManager::Modem::Modem(const QString &path, QObject *parent)
-    : Interface(*new ModemPrivate(path), parent)
-{
-    Q_D(Modem);
-    if (d->modemIface.isValid()) {
-        QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                             SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-    }
-
-    connect(&d->modemIface, SIGNAL(StateChanged(int,int,uint)), SLOT(onStateChanged(int,int,uint)));
-}
-
-ModemManager::Modem::~Modem()
-{
-}
-
-QString ModemManager::Modem::uni() const
-{
-    Q_D(const Modem);
-    return d->uni;
-}
-
-bool ModemManager::Modem::isEnabled() const
-{
-    Q_D(const Modem);
-    return (MMModemPowerState)d->modemIface.powerState() == MM_MODEM_POWER_STATE_ON;
-}
-
-bool ModemManager::Modem::isValid() const
-{
-    Q_D(const Modem);
-    return d->modemIface.isValid();
-}
-
-void ModemManager::Modem::setEnabled(bool enable)
-{
-    Q_D(Modem);
-    d->modemIface.Enable(enable);
-}
-
-QString ModemManager::Modem::createBearer(const BearerStruct &bearer)
-{
-    Q_D(Modem);
-    QVariantMap map;
-    map.insert("apn", bearer.apn);
-    if (bearer.ipType != MM_BEARER_IP_FAMILY_NONE)
-        map.insert("ip-type", (uint)bearer.ipType);
-    if (bearer.allowedAuth != MM_BEARER_ALLOWED_AUTH_UNKNOWN)
-        map.insert("allowed-auth", (uint)bearer.allowedAuth);
-    if (!bearer.user.isEmpty())
-        map.insert("user", bearer.user);
-    if (!bearer.password.isEmpty())
-        map.insert("password", bearer.password);
-    map.insert("allow-roaming", bearer.allowRoaming);
-    if (bearer.rmProtocol != MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN)
-        map.insert("rm-protocol", (uint)bearer.rmProtocol);
-    if (!bearer.number.isEmpty())
-        map.insert("number", bearer.number);
-    QDBusObjectPath obj = d->modemIface.CreateBearer(map);
-    return obj.path();
-}
-
-void ModemManager::Modem::deleteBearer(const QString &bearer)
-{
-    Q_D(Modem);
-    d->modemIface.DeleteBearer(QDBusObjectPath(bearer));
-}
-
-QStringList ModemManager::Modem::listBearers()
-{
-    Q_D(Modem);
-    QStringList result;
-    QDBusReply<QList<QDBusObjectPath> > tmp = d->modemIface.ListBearers(); // TODO use the new property when it becomes available
-    foreach(const QDBusObjectPath & path, tmp.value()) {
-        result.append(path.path());
-    }
-
-    return result;
-}
-
-void ModemManager::Modem::reset()
-{
-    Q_D(Modem);
-    d->modemIface.Reset();
-}
-
-void ModemManager::Modem::factoryReset(const QString &code)
-{
-    Q_D(Modem);
-    d->modemIface.FactoryReset(code);
-}
-
-void ModemManager::Modem::setPowerState(MMModemPowerState state)
-{
-    Q_D(Modem);
-    d->modemIface.SetPowerState(state);
-}
-
-void ModemManager::Modem::setCurrentCapabilities(Capabilities caps)
-{
-    Q_D(Modem);
-    d->modemIface.SetCurrentCapabilities((uint) caps);
-}
-
-void ModemManager::Modem::setCurrentModes(const CurrentModesType &mode)
-{
-    Q_D(Modem);
-    d->modemIface.SetCurrentModes(mode);
-}
-
-void ModemManager::Modem::setCurrentBands(const QList<MMModemBand> &bands)
-{
-    Q_D(Modem);
-    QList<uint> tmp;
-    foreach (const MMModemBand band, bands) {
-        tmp.append(band);
-    }
-    d->modemIface.SetCurrentBands(tmp);
-}
-
-QString ModemManager::Modem::command(const QString &cmd, uint timeout)
-{
-    Q_D(Modem);
-    QDBusReply<QString> reply = d->modemIface.Command(cmd, timeout);
-    return reply.value();
-}
-
-QString ModemManager::Modem::simPath() const
-{
-    Q_D(const Modem);
-    return d->simPath;
-}
-
-QList<MMModemCapability> ModemManager::Modem::supportedCapabilities() const
-{
-    Q_D(const Modem);
-
-    QList<MMModemCapability> result;
-    foreach (uint cap, d->modemIface.supportedCapabilities()) {
-        result.append((MMModemCapability)cap);
-    }
-
-    return result;
-}
-
-ModemManager::Modem::Capabilities ModemManager::Modem::currentCapabilities() const
-{
-    Q_D(const Modem);
-    return (Capabilities)d->modemIface.currentCapabilities();
-}
-
-uint ModemManager::Modem::maxBearers() const
-{
-    Q_D(const Modem);
-    return d->modemIface.maxBearers();
-}
-
-uint ModemManager::Modem::maxActiveBearers() const
-{
-    Q_D(const Modem);
-    return d->modemIface.maxActiveBearers();
-}
-
-QString ModemManager::Modem::manufacturer() const
-{
-    Q_D(const Modem);
-    return d->modemIface.manufacturer();
-}
-
-QString ModemManager::Modem::model() const
-{
-    Q_D(const Modem);
-    return d->modemIface.model();
-}
-
-QString ModemManager::Modem::revision() const
-{
-    Q_D(const Modem);
-    return d->modemIface.revision();
-}
-
-QString ModemManager::Modem::deviceIdentifier() const
-{
-    Q_D(const Modem);
-    return d->modemIface.deviceIdentifier();
-}
-
-QString ModemManager::Modem::device() const
-{
-    Q_D(const Modem);
-    return d->modemIface.device();
-}
-
-QStringList ModemManager::Modem::drivers() const
-{
-    Q_D(const Modem);
-    return d->modemIface.drivers();
-}
-
-QString ModemManager::Modem::plugin() const
-{
-    Q_D(const Modem);
-    return d->modemIface.plugin();
-}
-
-QString ModemManager::Modem::primaryPort() const
-{
-    Q_D(const Modem);
-    return d->modemIface.primaryPort();
-}
-
-QString ModemManager::Modem::equipmentIdentifier() const
-{
-    Q_D(const Modem);
-    return d->modemIface.equipmentIdentifier();
-}
-
-MMModemLock ModemManager::Modem::unlockRequired() const
-{
-    Q_D(const Modem);
-    return (MMModemLock)d->modemIface.unlockRequired();
-}
-
-UnlockRetriesMap ModemManager::Modem::unlockRetries() const
-{
-    Q_D(const Modem);
-    return d->modemIface.unlockRetries();
-}
-
-MMModemState ModemManager::Modem::state() const
-{
-    Q_D(const Modem);
-    return (MMModemState)d->modemIface.state();
-}
-
-MMModemStateFailedReason ModemManager::Modem::stateFailedReason() const
-{
-    Q_D(const Modem);
-    return (MMModemStateFailedReason)d->modemIface.stateFailedReason();
-}
-
-ModemManager::Modem::AccessTechnologies ModemManager::Modem::accessTechnologies() const
-{
-    Q_D(const Modem);
-    return (AccessTechnologies)d->modemIface.accessTechnologies();
-}
-
-SignalQualityPair ModemManager::Modem::signalQuality() const
-{
-    Q_D(const Modem);
-    return d->modemIface.signalQuality();
-}
-
-QStringList ModemManager::Modem::ownNumbers() const
-{
-    Q_D(const Modem);
-    return d->modemIface.ownNumbers();
-}
-
-MMModemPowerState ModemManager::Modem::powerState() const
-{
-    Q_D(const Modem);
-    return (MMModemPowerState)d->modemIface.powerState();
-}
-
-SupportedModesType ModemManager::Modem::supportedModes() const
-{
-    Q_D(const Modem);
-    return d->modemIface.supportedModes();
-}
-
-CurrentModesType ModemManager::Modem::currentModes() const
-{
-    Q_D(const Modem);
-    return d->modemIface.currentModes();
-}
-
-QList<MMModemBand> ModemManager::Modem::supportedBands() const
-{
-    Q_D(const Modem);
-    QList<MMModemBand> result;
-    foreach (uint band, d->modemIface.supportedBands()) {
-        result.append((MMModemBand)band);
-    }
-
-    return result;
-}
-
-QList<MMModemBand> ModemManager::Modem::currentBands() const
-{
-    Q_D(const Modem);
-    QList<MMModemBand> result;
-    foreach (uint band, d->modemIface.currentBands()) {
-        result.append((MMModemBand)band);
-    }
-
-    return result;
-}
-
-ModemManager::Modem::IpBearerFamilies ModemManager::Modem::supportedIpFamilies() const
-{
-    Q_D(const Modem);
-    return (IpBearerFamilies)d->modemIface.supportedIpFamilies();
-}
-
-void ModemManager::Modem::onPropertiesChanged(const QString &ifaceName, const QVariantMap &changedProps, const QStringList &invalidatedProps)
-{
-    Q_D(Modem);
-    mmDebug() << ifaceName << changedProps.keys();
-
-    if (ifaceName == QString(MM_DBUS_INTERFACE_MODEM)) {
-        QLatin1String device(MM_MODEM_PROPERTY_DEVICE);
-        QLatin1String drivers(MM_MODEM_PROPERTY_DRIVERS);
-        QLatin1String enabled(MM_MODEM_PROPERTY_POWERSTATE);
-        QLatin1String unlockRequired(MM_MODEM_PROPERTY_UNLOCKREQUIRED);
-        QLatin1String signalQuality(MM_MODEM_PROPERTY_SIGNALQUALITY);
-        QLatin1String tech(MM_MODEM_PROPERTY_ACCESSTECHNOLOGIES);
-        QLatin1String currentModes(MM_MODEM_PROPERTY_CURRENTMODES);
-        QLatin1String simPath(MM_MODEM_PROPERTY_SIM);
-        QLatin1String powerState(MM_MODEM_PROPERTY_POWERSTATE);
-
-        QVariantMap::const_iterator it = changedProps.constFind(device);
-        if (it != changedProps.constEnd()) {
-            d->device = it->toString();
-            emit deviceChanged(d->device);
-        }
-        it = changedProps.constFind(drivers);
-        if (it != changedProps.constEnd()) {
-            d->drivers = it->toStringList();
-            emit driversChanged(d->drivers);
-        }
-        it = changedProps.constFind(enabled);
-        if (it != changedProps.constEnd()) {
-            emit enabledChanged(it->toBool());
-        }
-        it = changedProps.constFind(unlockRequired);
-        if (it != changedProps.constEnd()) {
-            emit unlockRequiredChanged((MMModemLock)it->toUInt());
-        }
-        it = changedProps.constFind(tech);
-        if (it != changedProps.constEnd()) {
-            emit accessTechnologyChanged(static_cast<AccessTechnologies>(it->toUInt()));
-        }
-        it = changedProps.constFind(currentModes);
-        if (it != changedProps.constEnd()) {
-            emit currentModesChanged();
-        }
-        it = changedProps.constFind(signalQuality);
-        if (it != changedProps.constEnd()) {
-            SignalQualityPair pair = qdbus_cast<SignalQualityPair>(*it);
-            if (pair.recent) {
-                emit signalQualityChanged(pair.signal);
-            }
-        }
-        it = changedProps.constFind(simPath);
-        if (it != changedProps.constEnd()) {
-            const QString path = qdbus_cast<QDBusObjectPath>(*it).path();
-            emit simPathChanged(d->simPath, path);
-            d->simPath = path;
-        }
-        it = changedProps.constFind(powerState);
-        if (it != changedProps.constEnd()) {
-            emit powerStateChanged((MMModemPowerState)it->toUInt());
-        }
-    }
-}
-
-void ModemManager::Modem::onStateChanged(int oldState, int newState, uint reason)
-{
-    emit stateChanged((MMModemState) oldState, (MMModemState) newState, (MMModemStateChangeReason) reason);
-}
-
-/*** From org.freedesktop.ModemManager.Modem.Simple ***/
-
-QDBusObjectPath ModemManager::Modem::connectModem(const QVariantMap &properties)
-{
-    Q_D(Modem);
-    return d->modemSimpleIface.Connect(properties);
-}
-
-QVariantMap ModemManager::Modem::status()
-{
-    Q_D(Modem);
-    return d->modemSimpleIface.GetStatus();
-}
-
-void ModemManager::Modem::disconnectModem(const QString &bearer)
-{
-    Q_D(Modem);
-    d->modemSimpleIface.Disconnect(QDBusObjectPath(bearer));
-}
-
-void ModemManager::Modem::disconnectAllModems()
-{
-    disconnectModem(QLatin1String("/"));
-}
diff -pruN 1.0.1-2/modemdevice.cpp 5.2.2-0ubuntu1/modemdevice.cpp
--- 1.0.1-2/modemdevice.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemdevice.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,398 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modemdevice.h"
-#include "modemdevice_p.h"
-
-#include "dbus/dbus.h"
-#include "generic-types.h"
-#include "manager.h"
-#include "mmdebug.h"
-#include "modem.h"
-#include "modemcdma.h"
-#include "modem3gpp.h"
-#include "modem3gppussd.h"
-#include "modemlocation.h"
-#include "modemmessaging.h"
-#include "modemtime.h"
-#include "sim.h"
-
-#include <QDomDocument>
-
-
-ModemDevicePrivate::ModemDevicePrivate(const QString &path, ModemManager::ModemDevice *q)
-    : uni(path)
-    , q_ptr(q)
-{
-    init();
-}
-
-ModemDevicePrivate::~ModemDevicePrivate()
-{
-}
-
-void ModemDevicePrivate::init()
-{
-    Q_Q(ModemManager::ModemDevice);
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, MM_DBUS_PATH, DBUS_INTERFACE_MANAGER, "InterfacesAdded",
-                                         q, SLOT(onInterfacesAdded(QDBusObjectPath,NMVariantMapMap)));
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, MM_DBUS_PATH, DBUS_INTERFACE_MANAGER, "InterfacesRemoved",
-                                         q, SLOT(onInterfacesRemoved(QDBusObjectPath,QStringList)));
-
-    initInterfaces();
-}
-
-void ModemDevicePrivate::initInterfaces()
-{
-    Q_Q(ModemManager::ModemDevice);
-
-    interfaceList.clear();
-
-    const QString xmlData = introspect();
-    if (xmlData.isEmpty()) {
-        mmDebug() << uni << "has no interfaces!";
-        return;
-    }
-
-    QDomDocument dom;
-    dom.setContent(xmlData);
-
-    QDomNodeList ifaceNodeList = dom.elementsByTagName("interface");
-    for (int i = 0; i < ifaceNodeList.count(); i++) {
-        QDomElement ifaceElem = ifaceNodeList.item(i).toElement();
-        /* Accept only MM interfaces so that when the device is unplugged,
-         * interfaceList goes empty and we can easily verify that the device is gone. */
-        if (!ifaceElem.isNull() && ifaceElem.attribute("name").startsWith(MM_DBUS_SERVICE)) {
-            const QString name = ifaceElem.attribute("name");
-            if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
-                interfaceList.insert(ModemManager::ModemDevice::ModemInterface, ModemManager::Modem::Ptr());
-                if (interfaceList.contains(ModemManager::ModemDevice::ModemInterface)) {
-                    ModemManager::Modem::Ptr modemInterface = interface(ModemManager::ModemDevice::ModemInterface).objectCast<ModemManager::Modem>();
-                    if (!modemInterface->simPath().isEmpty()) {
-                        simCard = ModemManager::Sim::Ptr(new ModemManager::Sim(modemInterface->simPath()), &QObject::deleteLater);
-                        //q->simAdded(modemInterface->simPath());
-
-                        QObject::connect(modemInterface.data(), SIGNAL(simPathChanged(QString,QString)),
-                                         q, SLOT(onSimPathChanged(QString,QString)));
-                    }
-                }
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
-                interfaceList.insert(ModemManager::ModemDevice::GsmInterface, ModemManager::Modem3gpp::Ptr());
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
-                interfaceList.insert(ModemManager::ModemDevice::GsmUssdInterface, ModemManager::Modem3gppUssd::Ptr());
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
-                interfaceList.insert(ModemManager::ModemDevice::CdmaInterface, ModemManager::ModemCdma::Ptr());
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
-                interfaceList.insert(ModemManager::ModemDevice::MessagingInterface, ModemManager::ModemMessaging::Ptr());
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
-                interfaceList.insert(ModemManager::ModemDevice::LocationInterface, ModemManager::ModemLocation::Ptr());
-            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
-                interfaceList.insert(ModemManager::ModemDevice::TimeInterface, ModemManager::ModemTime::Ptr());
-            } // TODO
-            /* else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
-                interfaceList.insert(ModemManager::ModemDevice::FirmwareInterface, ModemManager::ModemFirmwareInterface::Ptr());
-            }*/
-        }
-    }
-
-    mmDebug() << uni << "has interfaces:" << interfaceList.keys();
-}
-
-QString ModemDevicePrivate::introspect() const
-{
-    QDBusMessage call = QDBusMessage::createMethodCall(MM_DBUS_SERVICE, uni, DBUS_INTERFACE_INTROSPECT, "Introspect");
-    QDBusPendingReply<QString> reply = QDBusConnection::systemBus().call(call);
-
-    if (reply.isValid())
-        return reply.value();
-    else {
-        return QString();
-    }
-}
-
-ModemManager::ModemDevice::ModemDevice(const QString &path, QObject *parent)
-    : QObject(parent)
-    , d_ptr(new ModemDevicePrivate(path, this))
-{
-}
-
-ModemManager::ModemDevice::ModemDevice(ModemDevicePrivate &dd, QObject *parent)
-    : QObject(parent)
-    , d_ptr(&dd)
-{
-}
-
-ModemManager::ModemDevice::~ModemDevice()
-{
-    delete d_ptr;
-}
-
-ModemManager::Interface::List ModemDevicePrivate::interfaces()
-{
-    ModemManager::Interface::List list;
-
-    QMap<ModemManager::ModemDevice::InterfaceType, ModemManager::Interface::Ptr>::const_iterator i;
-    for (i = interfaceList.constBegin(); i != interfaceList.constEnd(); ++i) {
-        ModemManager::Interface::Ptr modemInterface = interface(i.key());
-        if (modemInterface) {
-            list.append(modemInterface);
-        } else {
-            qWarning() << "warning: null network Interface for" << i.key();
-        }
-    }
-
-    return list;
-}
-
-ModemManager::Interface::Ptr ModemDevicePrivate::interface(ModemManager::ModemDevice::InterfaceType type)
-{
-    ModemManager::Interface::Ptr modemInterface;
-
-    if (interfaceList.contains(type)) {
-        if (interfaceList.value(type)) {
-            modemInterface = interfaceList.value(type);
-        } else {
-            modemInterface = createInterface(type);
-            interfaceList[type] = modemInterface;
-        }
-    }
-
-    return modemInterface;
-}
-
-ModemManager::Interface::Ptr ModemDevicePrivate::createInterface(ModemManager::ModemDevice::InterfaceType type)
-{
-    ModemManager::Interface::Ptr createdInterface;
-    switch (type) {
-        case ModemManager::ModemDevice::ModemInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::GsmInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem3gpp(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::GsmUssdInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem3gppUssd(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::CdmaInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemCdma(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::MessagingInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemMessaging(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::LocationInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemLocation(uni), &QObject::deleteLater);
-            break;
-        case ModemManager::ModemDevice::TimeInterface:
-            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemTime(uni), &QObject::deleteLater);
-            break;
-        // TODO - firmware
-    }
-    return createdInterface;
-}
-
-ModemManager::Bearer::Ptr ModemDevicePrivate::findBearer(const QString &uni)
-{
-    ModemManager::Bearer::Ptr result;
-    foreach (const ModemManager::Bearer::Ptr & bearer, bearers()) {
-        if (bearer->uni() == uni) {
-            result = bearer;
-            break;
-        }
-    }
-
-    return result;
-}
-
-ModemManager::Bearer::List ModemDevicePrivate::bearers()
-{
-    Q_Q(ModemManager::ModemDevice);
-    ModemManager::Bearer::List result;
-    foreach (const QString & path, q->modemInterface()->listBearers()) {
-        ModemManager::Bearer::Ptr modemBearer = ModemManager::Bearer::Ptr(new ModemManager::Bearer(path), &QObject::deleteLater);
-        if (modemBearer) {
-            result.append(modemBearer);
-        } else {
-            mmDebug() << "warning: null bearer interface for" << path;
-        }
-    }
-
-    return result;
-}
-
-ModemManager::Sim::Ptr ModemDevicePrivate::sim()
-{
-    return simCard;
-}
-
-QString ModemManager::ModemDevice::uni() const
-{
-    Q_D(const ModemDevice);
-    return d->uni;
-}
-
-bool ModemManager::ModemDevice::hasInterface(ModemManager::ModemDevice::InterfaceType type) const
-{
-    Q_D(const ModemDevice);
-    return d->interfaceList.contains(type);
-}
-
-ModemManager::Interface::Ptr ModemManager::ModemDevice::interface(ModemManager::ModemDevice::InterfaceType type) const
-{
-    Q_D(const ModemDevice);
-
-    return const_cast<ModemDevicePrivate*>(d)->interface(type);
-}
-
-ModemManager::Interface::List ModemManager::ModemDevice::interfaces() const
-{
-    Q_D(const ModemDevice);
-
-    return const_cast<ModemDevicePrivate*>(d)->interfaces();
-}
-
-ModemManager::ModemMessaging::Ptr ModemManager::ModemDevice::messagingInterface()
-{
-    Q_D(ModemDevice);
-
-    return d->interface(ModemManager::ModemDevice::MessagingInterface).objectCast<ModemManager::ModemMessaging>();
-}
-
-ModemManager::Modem::Ptr ModemManager::ModemDevice::modemInterface()
-{
-    Q_D(ModemDevice);
-
-    return d->interface(ModemManager::ModemDevice::ModemInterface).objectCast<ModemManager::Modem>();
-}
-
-ModemManager::Bearer::Ptr ModemManager::ModemDevice::findBearer(const QString &uni)
-{
-    Q_D(ModemDevice);
-
-    return d->findBearer(uni);
-}
-
-ModemManager::Bearer::List ModemManager::ModemDevice::bearers() const
-{
-    Q_D(const ModemDevice);
-
-    return const_cast<ModemDevicePrivate*>(d)->bearers();
-}
-
-ModemManager::Sim::Ptr ModemManager::ModemDevice::sim() const
-{
-    Q_D(const ModemDevice);
-
-    return const_cast<ModemDevicePrivate*>(d)->sim();
-}
-
-bool ModemManager::ModemDevice::isGsmModem() const
-{
-    return hasInterface(ModemManager::ModemDevice::GsmInterface);
-}
-
-bool ModemManager::ModemDevice::isCdmaModem() const
-{
-    return hasInterface(ModemManager::ModemDevice::CdmaInterface);
-}
-
-void ModemManager::ModemDevice::onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties)
-{
-    Q_D(ModemDevice);
-    if (object_path.path() != d->uni) {
-        return;
-    }
-
-    foreach(const QString & iface, interfaces_and_properties.keys()) {
-        /* Don't store generic DBus interfaces */
-        if (iface.startsWith(MM_DBUS_SERVICE)) {
-            if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::ModemInterface, ModemManager::Modem::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::GsmInterface, ModemManager::Modem3gpp::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::GsmUssdInterface, ModemManager::Modem3gppUssd::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::CdmaInterface, ModemManager::ModemCdma::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::MessagingInterface, ModemManager::ModemMessaging::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::LocationInterface, ModemManager::ModemLocation::Ptr());
-            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::TimeInterface, ModemManager::ModemTime::Ptr());
-            } // TODO
-            /* else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
-                d->interfaceList.insert(ModemManager::ModemDevice::FirmwareInterface, ModemManager::ModemFirmwareInterface::Ptr());
-            }*/
-        }
-    }
-}
-
-void ModemManager::ModemDevice::onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces)
-{
-    Q_D(ModemDevice);
-    if (object_path.path() != d->uni) {
-        return;
-    }
-
-    if (interfaces.contains(MM_DBUS_INTERFACE_MODEM) || interfaces.isEmpty()) {
-        if (d->simCard) {
-            emit simRemoved(d->simCard->uni());
-            d->simCard = ModemManager::Sim::Ptr();
-        }
-    }
-
-    foreach(const QString & iface, interfaces) {
-        if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::ModemInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::GsmInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::GsmUssdInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::CdmaInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::MessagingInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::LocationInterface);
-        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::TimeInterface);
-        } // TODO
-        /* else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
-            d->interfaceList.remove(ModemManager::ModemDevice::FirmwareInterface);
-        }*/
-    }
-}
-
-void ModemManager::ModemDevice::onSimPathChanged(const QString &oldPath, const QString &newPath)
-{
-    Q_D(ModemDevice);
-
-    if (!oldPath.isEmpty() && d->simCard->uni() == oldPath) {
-        emit simRemoved(oldPath);
-        d->simCard = ModemManager::Sim::Ptr();
-    }
-
-    if (!newPath.isEmpty()) {
-        d->simCard = ModemManager::Sim::Ptr(new ModemManager::Sim(newPath), &QObject::deleteLater);
-        emit simAdded(newPath);
-    }
-}
diff -pruN 1.0.1-2/modemdevice.h 5.2.2-0ubuntu1/modemdevice.h
--- 1.0.1-2/modemdevice.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemdevice.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,103 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMDEVICE_H
-#define MODEMMANAGERQT_MODEMDEVICE_H
-
-#include <ModemManager/ModemManager.h>
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QVariant>
-#include <QSharedPointer>
-#include <QDBusObjectPath>
-
-#include "generic-types.h"
-#include "bearer.h"
-#include "interface.h"
-#include "modem.h"
-#include "modemmessaging.h"
-#include "sim.h"
-
-class ModemDevicePrivate;
-
-namespace ModemManager
-{
-class MODEMMANAGERQT_EXPORT ModemDevice : public QObject
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ModemDevice)
-
-    Q_PROPERTY(QString uni READ uni)
-public:
-    typedef QSharedPointer<ModemDevice> Ptr;
-    typedef QList<Ptr> List;
-
-    enum InterfaceType {
-        ModemInterface,
-        GsmInterface,
-        GsmUssdInterface,
-        CdmaInterface,
-        MessagingInterface,
-        LocationInterface,
-        TimeInterface,
-        FirmwareInterface
-    };
-
-    explicit ModemDevice(const QString &path, QObject *parent = 0);
-    explicit ModemDevice(ModemDevicePrivate &dd, QObject *parent = 0);
-    virtual ~ModemDevice();
-
-    QString uni() const;
-
-    bool hasInterface(InterfaceType type) const;
-    ModemManager::Interface::List interfaces() const;
-    ModemManager::Interface::Ptr interface(InterfaceType type) const;
-
-    ModemManager::ModemMessaging::Ptr messagingInterface();
-    ModemManager::Modem::Ptr modemInterface();
-
-    ModemManager::Bearer::Ptr findBearer(const QString &uni);
-    ModemManager::Bearer::List bearers() const;
-    ModemManager::Sim::Ptr sim() const;
-
-    bool isGsmModem() const;
-    bool isCdmaModem() const;
-
-private Q_SLOTS:
-    void onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
-    void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
-    void onSimPathChanged(const QString &oldPath, const QString &newPath);
-
-Q_SIGNALS:
-    void simAdded(const QString &udi);
-    void simRemoved(const QString &udi);
-
-    void bearerAdded(const QString &udi); // TODO emit these signals in the next version
-    void bearerRemoved(const QString &udi);
-
-private:
-    ModemDevicePrivate *const d_ptr;
-};
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemdevice_p.h 5.2.2-0ubuntu1/modemdevice_p.h
--- 1.0.1-2/modemdevice_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemdevice_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,57 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMDEVICE_P_H
-#define MODEMMANAGERQT_MODEMDEVICE_P_H
-
-#include <QObject>
-#include <QStringList>
-#include <QMap>
-
-#include "modemdevice.h"
-#include "interface.h"
-#include "bearer.h"
-#include "sim.h"
-
-class ModemDevicePrivate
-{
-public:
-    ModemDevicePrivate(const QString &path, ModemManager::ModemDevice *q);
-    virtual ~ModemDevicePrivate();
-    void init();
-    void initInterfaces();
-    QString introspect() const;
-    QString uni;
-    QMap<ModemManager::ModemDevice::InterfaceType, ModemManager::Interface::Ptr> interfaceList;
-    //QMap<QString, ModemManager::Bearer::Ptr> bearerList;
-    ModemManager::Sim::Ptr simCard;
-    ModemManager::Interface::List interfaces() ;
-    ModemManager::Interface::Ptr interface(ModemManager::ModemDevice::InterfaceType type);
-    ModemManager::Interface::Ptr createInterface(ModemManager::ModemDevice::InterfaceType type);
-    ModemManager::Bearer::Ptr findBearer(const QString &uni);
-    ModemManager::Bearer::List bearers();
-    ModemManager::Sim::Ptr sim();
-
-    Q_DECLARE_PUBLIC(ModemManager::ModemDevice)
-    ModemManager::ModemDevice *q_ptr;
-};
-
-#endif
diff -pruN 1.0.1-2/modem.h 5.2.2-0ubuntu1/modem.h
--- 1.0.1-2/modem.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,427 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEM_H
-#define MODEMMANAGERQT_MODEM_H
-
-#include <ModemManager/ModemManager.h>
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QVariant>
-#include <QSharedPointer>
-#include <QDBusObjectPath>
-
-#include "generic-types.h"
-#include "interface.h"
-
-class ModemPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The Modem class
- *
- * The Modem interface controls the status and actions in a given modem object.
- */
-class MODEMMANAGERQT_EXPORT Modem : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Modem)
-
-    Q_FLAGS(MMModemCapability)
-    Q_FLAGS(MMModemAccessTechnology)
-    Q_FLAGS(MMModemMode)
-    Q_FLAGS(MMBearerIpFamily)
-
-public:
-    Q_DECLARE_FLAGS(Capabilities, MMModemCapability)
-    Q_DECLARE_FLAGS(AccessTechnologies, MMModemAccessTechnology)
-    Q_DECLARE_FLAGS(ModemModes, MMModemMode)
-    Q_DECLARE_FLAGS(IpBearerFamilies, MMBearerIpFamily)
-
-    typedef QSharedPointer<Modem> Ptr;
-    typedef QList<Ptr> List;
-
-    struct BearerStruct {
-        QString apn; ///< Access Point Name, given as a string value. Required in 3GPP.
-        MMBearerIpFamily ipType; ///< Addressing type, given as a MMBearerIpFamily value. Optional in 3GPP and CDMA.
-        MMBearerAllowedAuth allowedAuth; ///< The authentication method to use, given as a MMBearerAllowedAuth value. Optional in 3GPP.
-        QString user; ///< User name (if any) required by the network, given as a string value. Optional in 3GPP.
-        QString password; ///< Password (if any) required by the network, given as a string value. Optional in 3GPP.
-        bool allowRoaming; ///< Flag to tell whether connection is allowed during roaming, given as a boolean value. Optional in 3GPP.
-        MMModemCdmaRmProtocol rmProtocol; ///< Protocol of the Rm interface, given as a MMModemCdmaRmProtocol value. Optional in CDMA.
-        QString number; ///< Telephone number to dial, given as a string value. Required in POTS.
-    };
-
-    explicit Modem(const QString &path, QObject *parent = 0 );
-    ~Modem();
-
-    QString uni() const;
-    /**
-     * @return @p true if the modem is fully functional, @p false when in low power mode or disabled
-     * @see setEnabled()
-     */
-    bool isEnabled() const;
-    bool isValid() const;
-
-    /**
-     * Enable or disable the modem.
-     *
-     * When enabled, the modem's radio is powered on and data sessions, voice calls, location services, and Short Message Service may be available.
-     *
-     * When disabled, the modem enters low-power state and no network-related operations are available.
-     */
-    void setEnabled(bool enable);
-
-    /**
-     * Create a new packet data bearer using the given characteristics.
-     *
-     * This request may fail if the modem does not support additional bearers, if too many bearers are already defined, or if properties are invalid.
-     *
-     * @return the path to the new bearer
-     */
-    QString createBearer(const BearerStruct &bearer);
-
-    /**
-     * Delete an existing packet data bearer.
-     *
-     * If the bearer is currently active and providing packet data server, it will be disconnected and that packet data service will terminate.
-     * @param bearer path to the bearer to delete
-     */
-    void deleteBearer(const QString &bearer);
-
-    /**
-     * @return the configured packet data bearers (EPS Bearers, PDP Contexts, or CDMA2000 Packet Data Sessions).
-     */
-    QStringList listBearers();
-
-    /**
-     * Clear non-persistent configuration and state, and return the device to a newly-powered-on state.
-     *
-     * This command may power-cycle the device.
-     */
-    void reset();
-
-    /**
-     * Clear the modem's configuration (including persistent configuration and state), and return the device to a factory-default state.
-     *
-     * If not required by the modem, @p code may be ignored.
-     *
-     * This command may or may not power-cycle the device.
-     * @param code Carrier-supplied code required to reset the modem.
-     */
-    void factoryReset(const QString &code);
-
-    /**
-     * Set the power @p state of the modem. This action can only be run when the modem is in MM_MODEM_STATE_DISABLED state.
-     */
-    void setPowerState(MMModemPowerState state);
-
-    /**
-     * Set the capabilities of the device. A restart of the modem may be required.
-     * @param caps QFlags of MMModemCapability values, to specify the capabilities to use.
-     */
-    void setCurrentCapabilities(Capabilities caps);
-
-    /**
-     * Set the access technologies (e.g. 2G/3G/4G preference) the device is currently allowed to use when connecting to a network.
-     *
-     * The given combination should be supported by the modem, as specified in supportedModes()
-     * @param mode
-     */
-    void setCurrentModes(const CurrentModesType &mode);
-
-    /**
-     * Set the radio frequency and technology bands the device is currently allowed to use when connecting to a network.
-     * @param bands List of MMModemBand values, to specify the bands to be used.
-     */
-    void setCurrentBands(const QList<MMModemBand> &bands);
-
-    QString command(const QString &cmd, uint timeout);
-
-    /**
-     * @return The path of the SIM object available in this device, if any.
-     */
-    QString simPath() const;
-
-    /**
-     * @return List of MMModemCapability values, specifying the combinations of generic family of access technologies the modem supports.
-     *
-     * If the modem doesn't allow changing the current capabilities, a single entry with MM_MODEM_CAPABILITY_ANY will be given.
-     */
-    QList<MMModemCapability> supportedCapabilities() const;
-
-    /**
-     * @return QFlags of MMModemCapability values, specifying the generic family of
-     * access technologies the modem currently supports without a firmware
-     * reload or reinitialization.
-     */
-    Capabilities currentCapabilities() const;
-
-    /**
-     * @return The maximum number of defined packet data bearers the modem supports.
-     *
-     * 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.
-     */
-    uint maxBearers() const;
-
-    /**
-     * @return The maximum number of active packet data bearers the modem supports.
-     *
-     * 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.
-     */
-    uint maxActiveBearers() const;
-
-    /**
-     * @return The equipment manufacturer, as reported by the modem.
-     */
-    QString manufacturer() const;
-
-    /**
-     * @return The equipment model, as reported by the modem.
-     */
-    QString model() const;
-
-    /**
-     * @return The revision identification of the software, as reported by the modem.
-     */
-    QString revision() const;
-
-    /**
-     * @return A best-effort device identifier based on various device
-     * information like model name, firmware revision, USB/PCI/PCMCIA IDs, and
-     * other properties.
-     *
-     * 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.
-     *
-     * This is not the device's IMEI or ESN since those may not be available
-     * before unlocking the device via a PIN.
-     */
-    QString deviceIdentifier() const;
-
-    /**
-     * @return The physical modem device reference (ie, USB, PCI, PCMCIA device), which may be dependent upon the operating system.
-     *
-     * In Linux for example, this points to a sysfs path of the usb_device object.
-     */
-    QString device() const;
-
-    /**
-     * @return The Operating System device drivers handling communication with the modem hardware.
-     */
-    QStringList drivers() const;
-
-    /**
-     * @return The name of the plugin handling this modem.
-     */
-    QString plugin() const;
-
-    /**
-     * @return The name of the primary port using to control the modem.
-     */
-    QString primaryPort() const;
-
-    /**
-     * @return The identity of the device.
-     *
-     * This will be the IMEI number for GSM devices and the hex-format ESN/MEID for CDMA devices.
-     */
-    QString equipmentIdentifier() const;
-
-    /**
-     * @return Current lock state of the device, given as a MMModemLock value.
-     */
-    MMModemLock unlockRequired() const;
-
-    /**
-     * @return A dictionary in which the keys are MMModemLock 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.
-     */
-    UnlockRetriesMap unlockRetries() const;
-
-    /**
-     * @return Overall state of the modem, given as a MMModemState value.
-     *
-     * If the device's state cannot be determined, MM_MODEM_STATE_UNKNOWN will be reported.
-     */
-    MMModemState state() const;
-
-    /**
-     * @return Error specifying why the modem is in MM_MODEM_STATE_FAILED state, given as a MMModemStateFailedReason value.
-     */
-    MMModemStateFailedReason stateFailedReason() const;
-
-    /**
-     * @return QFlags of MMModemAccessTechnology values, specifying the current
-     * network access technologies used by the device to communicate with the
-     * network.
-     *
-     * If the device's access technology cannot be determined, MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN will be reported.
-     */
-    AccessTechnologies accessTechnologies() const;
-
-    /**
-     * @return 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.
-     *
-     * The additional boolean value indicates if the quality value given was recently taken.
-     */
-    SignalQualityPair signalQuality() const;
-
-    /**
-     * @return List of numbers (e.g. MSISDN in 3GPP) being currently handled by this modem.
-     */
-    QStringList ownNumbers() const;
-
-    /**
-     * @return A MMModemPowerState value specifying the current power state of the modem.
-     */
-    MMModemPowerState powerState() const;
-
-    /**
-     * @return This property exposes the supported mode combinations, given as an list of unsigned integer pairs, where:
-     * The first integer is a bitmask of MMModemMode values, specifying the allowed modes.
-     * The second integer is a single MMModemMode, which specifies the preferred access technology, among the ones defined in the allowed modes.
-     */
-    SupportedModesType supportedModes() const;
-
-    /**
-     * @return A pair of MMModemMode 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.
-     *
-     * The pair must be one of those specified in supportedModes()
-     */
-    CurrentModesType currentModes() const;
-
-    /**
-     * @return List of MMModemBand values, specifying the radio frequency and technology bands supported by the device.
-     *
-     * For POTS devices, only the MM_MODEM_BAND_ANY mode will be returned.
-     */
-    QList<MMModemBand> supportedBands() const;
-
-    /**
-     * @return List of MMModemBand values, specifying the radio frequency and
-     * technology bands the device is currently using when connecting to a
-     * network.
-     *
-     * It must be a subset of supportedBands()
-     */
-    QList<MMModemBand> currentBands() const;
-
-    /**
-     * @return QFlags of MMBearerIpFamily values, specifying the IP families supported by the device.
-     */
-    IpBearerFamilies supportedIpFamilies() const;
-
-
-    // From org.freedesktop.ModemManager.Modem.Simple
-
-    //  Dictionary of properties needed to get the modem connected.
-    //  Each implementation is free to add its own specific key-value pairs. The predefined
-    //  common ones are:
-    //
-    //  "pin": SIM-PIN unlock code, given as a string value (signature "s").
-    //  "operator-id": ETSI MCC-MNC of a network to force registration with, given as a string value (signature "s").
-    //  "apn": For GSM/UMTS and LTE devices the APN to use, given as a string value (signature "s").
-    //  "ip-type": For GSM/UMTS and LTE devices the IP addressing type to use, given as a MMBearerIpFamily value (signature "u").
-    //  "allowed-auth": The authentication method to use, given as a MMBearerAllowedAuth value (signature "u"). Optional in 3GPP.
-    //  "user": User name (if any) required by the network, given as a string value (signature "s"). Optional in 3GPP.
-    //  "password": Password (if any) required by the network, given as a string value (signature "s"). Optional in 3GPP.
-    //  "number": For POTS devices the number to dial,, given as a string value (signature "s").
-    //  "allow-roaming": FALSE to allow only connections to home networks, given as a boolean value (signature "b").
-    //  "rm-protocol": For CDMA devices, the protocol of the Rm interface, given as a MMModemCdmaRmProtocol value (signature "u").
-    QDBusObjectPath connectModem(const QVariantMap &properties);
-
-    //  Dictionary of properties.
-    //  Each implementation is free to add it's own specific key-value pairs. The predefined
-    //  common ones are:
-    //
-    //  "state": A MMModemState value specifying the overall state of the modem, given as an unsigned integer value (signature "u").
-    //  "signal-quality": Signal quality value, given only when registered, as an unsigned integer value (signature "u").
-    //  "current-bands": List of MMModemBand values, given only when registered, as a list of unsigned integer values (signature "au").
-    //  "access-technology": A MMModemAccessTechnology value, given only when registered, as an unsigned integer value (signature "u").
-    //  "m3gpp-registration-state":A MMModem3gppRegistrationState value specifying the state of the registration, given only when registered in a 3GPP network, as an unsigned integer value (signature "u").
-    //  "m3gpp-operator-code":Operator MCC-MNC, given only when registered in a 3GPP network, as a string value (signature "s").
-    //  "m3gpp-operator-name":Operator name, given only when registered in a 3GPP network, as a string value (signature "s").
-    //  "cdma-cdma1x-registration-state":A MMModemCdmaRegistrationState value specifying the state of the registration, given only when registered in a CDMA1x network, as an unsigned integer value (signature "u").
-    //  "cdma-evdo-registration-state":A MMModemCdmaRegistrationState value specifying the state of the registration, given only when registered in a EV-DO network, as an unsigned integer value (signature "u").
-    //  "cdma-sid":The System Identifier of the serving network, if registered in a CDMA1x network and if known. Given as an unsigned integer value (signature "u").
-    //  "cdma-nid":The Network Identifier of the serving network, if registered in a CDMA1x network and if known. Given as an unsigned integer value (signature "u").
-    QVariantMap status();
-
-    void disconnectModem(const QString &bearer);
-    void disconnectAllModems();
-
-Q_SIGNALS:
-    void deviceChanged(const QString &device);
-    void driversChanged(const QStringList &drivers);
-    void enabledChanged(bool enabled);
-    void unlockRequiredChanged(MMModemLock lock);
-    /**
-     * The modem's state (see state()) changed.
-     */
-    void stateChanged(MMModemState oldState, MMModemState newState, MMModemStateChangeReason reason);
-    void signalQualityChanged(uint percentStrength);
-    void accessTechnologyChanged(ModemManager::Modem::AccessTechnologies tech);
-    void currentModesChanged();
-    void simPathChanged(const QString &oldPath, const QString &newPath);
-    /**
-     * Emitted when the modem's power state changes
-     * @param state the new state
-     * @see powerState()
-     */
-    void powerStateChanged(MMModemPowerState state);
-
-private Q_SLOTS:
-    void onPropertiesChanged(const QString &ifaceName, const QVariantMap &changedProps, const QStringList &invalidatedProps);
-    void onStateChanged(int oldState, int newState, uint reason);
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::Capabilities)
-Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::AccessTechnologies)
-Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::ModemModes)
-Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::IpBearerFamilies)
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemlocation.cpp 5.2.2-0ubuntu1/modemlocation.cpp
--- 1.0.1-2/modemlocation.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemlocation.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,124 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modemlocation.h"
-#include "modemlocation_p.h"
-#include "dbus/dbus.h"
-#include "mmdebug.h"
-
-ModemLocationPrivate::ModemLocationPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modemLocationIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::ModemLocation::ModemLocation(const QString &path, QObject *parent)
-    : Interface(*new ModemLocationPrivate(path), parent)
-{
-    Q_D(ModemLocation);
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-}
-
-ModemManager::ModemLocation::~ModemLocation()
-{
-}
-
-void ModemManager::ModemLocation::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
-{
-    mmDebug() << interface << properties.keys();
-
-    if (interface == QString(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
-        QLatin1String capabilities(MM_MODEM_LOCATION_PROPERTY_CAPABILITIES);
-        QLatin1String enabled(MM_MODEM_LOCATION_PROPERTY_ENABLED);
-        QLatin1String signalsLocation(MM_MODEM_LOCATION_PROPERTY_SIGNALSLOCATION);
-        QLatin1String location(MM_MODEM_LOCATION_PROPERTY_LOCATION);
-
-        QVariantMap::const_iterator it = properties.constFind(capabilities);
-        if ( it != properties.constEnd()) {
-            emit capabilitiesChanged((ModemManager::ModemLocation::LocationSources)it->toUInt());
-        }
-        it = properties.constFind(enabled);
-        if ( it != properties.constEnd()) {
-            emit isEnabledChanged(it->toBool());
-        }
-        it = properties.constFind(signalsLocation);
-        if ( it != properties.constEnd()) {
-            emit signalsLocationChanged(it->toBool());
-        }
-        it = properties.constFind(location);
-        if ( it != properties.constEnd()) {
-            QVariant v = it.value();  // FIXME demarshall properly
-            LocationInformationMap map;
-            if (v.canConvert<LocationInformationMap>()) {
-                map = v.value<LocationInformationMap>();
-            } else {
-                mmDebug() << "Error converting LocationInformationMap property";
-            }
-            emit locationChanged(map);
-        }
-    }
-}
-
-void ModemManager::ModemLocation::setup(ModemManager::ModemLocation::LocationSources sources, bool signalLocation)
-{
-    Q_D(ModemLocation);
-    d->modemLocationIface.Setup(sources, signalLocation);
-}
-
-LocationInformationMap ModemManager::ModemLocation::location()
-{
-    Q_D(ModemLocation);
-    QDBusReply<LocationInformationMap> location = d->modemLocationIface.GetLocation();
-
-    if (location.isValid()) {
-        return location.value();
-    }
-
-    return LocationInformationMap();
-}
-
-ModemManager::ModemLocation::LocationSources ModemManager::ModemLocation::capabilities() const
-{
-    Q_D(const ModemLocation);
-    return (LocationSources)d->modemLocationIface.capabilities();
-}
-
-ModemManager::ModemLocation::LocationSources ModemManager::ModemLocation::enabledCapabilities() const
-{
-    Q_D(const ModemLocation);
-    return (LocationSources)d->modemLocationIface.enabled();
-}
-
-bool ModemManager::ModemLocation::isEnabled() const
-{
-    Q_D(const ModemLocation);
-    return d->modemLocationIface.enabled() > MM_MODEM_LOCATION_SOURCE_NONE;
-}
-
-bool ModemManager::ModemLocation::signalsLocation() const
-{
-    Q_D(const ModemLocation);
-    return d->modemLocationIface.signalsLocation();
-}
diff -pruN 1.0.1-2/modemlocation.h 5.2.2-0ubuntu1/modemlocation.h
--- 1.0.1-2/modemlocation.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemlocation.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,123 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMLOCATION_H
-#define MODEMMANAGERQT_MODEMLOCATION_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-
-#include "generic-types.h"
-#include "interface.h"
-
-class ModemLocationPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The ModemLocation class
- *
- * The Location class 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.
- */
-class MODEMMANAGERQT_EXPORT ModemLocation : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ModemLocation)
-    Q_FLAGS(MMModemLocationSource)
-
-public:
-    typedef QSharedPointer<ModemLocation> Ptr;
-    typedef QList<Ptr> List;
-
-    Q_DECLARE_FLAGS(LocationSources, MMModemLocationSource)
-
-    explicit ModemLocation(const QString &path, QObject *parent = 0);
-    ~ModemLocation();
-
-    /**
-     * 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.
-     *
-     * 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
-     * @p signLocation argument can be set to FALSE to disable location updates
-     * via the locationChanged() signal and require applications to call authenticated APIs
-     * (like GetLocation() ) to get location information.
-     */
-    void setup(ModemManager::ModemLocation::LocationSources sources, bool signalLocation);
-
-    /**
-     * @return current location information, if any. If the modem supports
-     * multiple location types it may return more than one. See the "Location"
-     * property for more information on the dictionary returned at location.
-     *
-     * This method may require the client to authenticate itself.
-     */
-    LocationInformationMap location(); // TODO process this better
-
-    /**
-     * @return QFlags of MMModemLocationSource values, specifying the supported location sources.
-     */
-    LocationSources capabilities() const;
-
-    /**
-     * @return QFlags specifying which of the supported MMModemLocationSource location sources is currently enabled in the device.
-     */
-    LocationSources enabledCapabilities() const;
-
-    /**
-     * @return whether the device has any location capabilities
-     */
-    bool isEnabled() const;
-
-    /**
-     * @return TRUE if location updates will be emitted via the locationChanged() signal, FALSE if location updates will not be emitted.
-     *
-     * See the setup() method for more information.
-     */
-    bool signalsLocation() const;
-
-Q_SIGNALS:
-    void capabilitiesChanged(LocationSources sources);
-    void isEnabledChanged(bool enabled);
-    void signalsLocationChanged(bool signalsLocation);
-    /**
-     * Emitted when the location has changed
-     */
-    void locationChanged(const LocationInformationMap &location);
-
-private Q_SLOTS:
-   void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
-};
-
-Q_DECLARE_OPERATORS_FOR_FLAGS(ModemLocation::LocationSources)
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemlocation_p.h 5.2.2-0ubuntu1/modemlocation_p.h
--- 1.0.1-2/modemlocation_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemlocation_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,36 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMLOCATION_P_H
-#define MODEMMANAGERQT_MODEMLOCATION_P_H
-
-#include "interface_p.h"
-#include "dbus/Location.h"
-
-class ModemLocationPrivate: public InterfacePrivate
-{
-public:
-    explicit ModemLocationPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemLocationInterface modemLocationIface;
-};
-
-#endif
diff -pruN 1.0.1-2/ModemManagerQt-export.h 5.2.2-0ubuntu1/ModemManagerQt-export.h
--- 1.0.1-2/ModemManagerQt-export.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/ModemManagerQt-export.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,44 +0,0 @@
-/*
- * This file is part of the libnm-qt project
- * Copyright (C) 2009 Dario Freddi <drf@kde.org>
- * Copyright (C) 2007 David Faure <faure@kde.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef MODEMMANAGERQT_EXPORT_H
-#define MODEMMANAGERQT_EXPORT_H
-
-/** \file ModemManagerQt-export.h
-    \brief Contains Macros for exporting symbols
-
-    This file contains macros needed for exporting/importing symbols
-*/
-
-#include <QtCore/QtGlobal>
-
-#ifndef MODEMMANAGERQT_EXPORT
-# if defined(MAKE_MODEMMANAGERQT_LIB)
-/* We are building this library */
-#  define MODEMMANAGERQT_EXPORT Q_DECL_EXPORT
-# else
-/* We are using this library */
-#  define MODEMMANAGERQT_EXPORT Q_DECL_IMPORT
-# endif
-#endif
-
-#endif /*MODEMMANAGERQT_EXPORT_H*/
-
diff -pruN 1.0.1-2/ModemManagerQt.pc.cmake 5.2.2-0ubuntu1/ModemManagerQt.pc.cmake
--- 1.0.1-2/ModemManagerQt.pc.cmake	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/ModemManagerQt.pc.cmake	1970-01-01 00:00:00.000000000 +0000
@@ -1,30 +0,0 @@
-# Copyright 2011‐2013 Lamarque Souza <lamarque@kde.org>
-#
-# 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.1 of the License, or (at your option) version 3, or any
-# later version accepted by the membership of KDE e.V. (or its
-# successor approved by the membership of KDE e.V.), which shall
-# act as a proxy defined in Section 6 of version 3 of the license.
-#
-# 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, see <http://www.gnu.org/licenses/>.
-
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=@LIB_DESTINATION@
-includedir=${prefix}/include
-
-Name: ModemManagerQt
-Description: Convenience Qt library for clients of ModemManager
-Version: @VERSION@
-
-Requires: QtCore QtDBus QtXml
-Cflags: -I${includedir} -I@MODEMMANAGER_INCLUDE_DIRS@
-Libs: -L${libdir} -lModemManagerQt
diff -pruN 1.0.1-2/modemmanagerqt.yaml 5.2.2-0ubuntu1/modemmanagerqt.yaml
--- 1.0.1-2/modemmanagerqt.yaml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/modemmanagerqt.yaml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,10 @@
+maintainer: Lamarque Souza, Jan Grulich, Lukáš Tinkl
+description: Qt wrapper for ModemManager API
+tier: 1
+type: integration
+platforms:
+    - name: Linux
+    - note: Functional only with running ModemManager
+portingAid: false
+deprecated: false
+release: false
diff -pruN 1.0.1-2/modemmessaging.cpp 5.2.2-0ubuntu1/modemmessaging.cpp
--- 1.0.1-2/modemmessaging.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemmessaging.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,201 +0,0 @@
-/*
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modemmessaging.h"
-#include "modemmessaging_p.h"
-
-#include "dbus/dbus.h"
-#include "mmdebug.h"
-
-#include "sms.h"
-#include <ModemManager/ModemManager.h>
-
-ModemMessagingPrivate::ModemMessagingPrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modemMessagingIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::ModemMessaging::ModemMessaging(const QString &path, QObject *parent)
-    : Interface(*new ModemMessagingPrivate(path), parent)
-{
-    Q_D(ModemMessaging);
-
-    QList<MMSmsStorage> storages;
-    foreach (uint storage, d->modemMessagingIface.supportedStorages()) {
-        storages.append((MMSmsStorage)storage);
-    }
-    d->supportedStorages = storages;
-    d->defaultStorage = (MMSmsStorage) d->modemMessagingIface.defaultStorage();
-
-    connect(&d->modemMessagingIface, SIGNAL(Added(QDBusObjectPath,bool)), this, SLOT(onMessageAdded(QDBusObjectPath,bool)));
-    connect(&d->modemMessagingIface, SIGNAL(Deleted(QDBusObjectPath)), this, SLOT(onMessageDeleted(QDBusObjectPath)));
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-
-    // FIXME We have to do it this way for MM 1.0, in MM 1.2 will be MessageList as a property
-    QDBusReply< QList <QDBusObjectPath> > messageList = d->modemMessagingIface.List();
-    if (messageList.isValid()) {
-        mmDebug() << "Message list";
-        QList <QDBusObjectPath> messages = messageList.value();
-        foreach (const QDBusObjectPath &op, messages) {
-            d->messageList.insert(op.path(), ModemManager::Sms::Ptr());
-            emit messageAdded(op.path(), false);
-            mmDebug() << "  " << op.path();
-        }
-    }
-}
-
-ModemManager::ModemMessaging::~ModemMessaging()
-{
-}
-
-ModemManager::Sms::Ptr ModemMessagingPrivate::findMessage(const QString &uni)
-{
-    ModemManager::Sms::Ptr sms;
-    if (messageList.contains(uni)) {
-        if (messageList.value(uni)) {
-            sms = messageList.value(uni);
-        } else {
-            sms = ModemManager::Sms::Ptr(new ModemManager::Sms(uni), &QObject::deleteLater);
-            messageList[uni] = sms;
-        }
-    }
-    return sms;
-}
-
-ModemManager::Sms::List ModemMessagingPrivate::ModemMessagingPrivate::messages()
-{
-    ModemManager::Sms::List list;
-
-    QMap<QString, ModemManager::Sms::Ptr>::const_iterator i;
-    for (i = messageList.constBegin(); i != messageList.constEnd(); ++i) {
-        ModemManager::Sms::Ptr sms = findMessage(i.key());
-        if (!sms.isNull()) {
-            list.append(sms);
-        } else {
-            qWarning() << "warning: null message for" << i.key();
-        }
-    }
-
-    return list;
-}
-
-void ModemManager::ModemMessaging::onPropertiesChanged(const QString &interfaceName, const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
-{
-    if (interfaceName == QString(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
-        QLatin1String supportedStorages(MM_MODEM_MESSAGING_PROPERTY_SUPPORTEDSTORAGES);
-        QLatin1String defaultStorage(MM_MODEM_MESSAGING_PROPERTY_DEFAULTSTORAGE);
-
-        Q_D(ModemMessaging);
-
-        QVariantMap::const_iterator it = changedProperties.constFind(supportedStorages);
-        if (it != changedProperties.constEnd()) {
-            QList<MMSmsStorage> storages;
-            foreach (uint storage, it->value<UIntList>()) {
-                storages.append((MMSmsStorage)storage);
-            }
-            d->supportedStorages = storages;
-        }
-        it = changedProperties.constFind(defaultStorage);
-        if (it != changedProperties.constEnd()) {
-            d->defaultStorage = (MMSmsStorage) it->toInt();
-        }
-    }
-}
-
-void ModemManager::ModemMessaging::onMessageAdded(const QDBusObjectPath &path, bool received)
-{
-    Q_D(ModemMessaging);
-    d->messageList.insert(path.path(), ModemManager::Sms::Ptr());
-    emit messageAdded(path.path(), received);
-}
-
-void ModemManager::ModemMessaging::onMessageDeleted(const QDBusObjectPath &path)
-{
-    Q_D(ModemMessaging);
-    d->messageList.remove(path.path());
-    emit messageDeleted(path.path());
-}
-
-QList<MMSmsStorage> ModemManager::ModemMessaging::supportedStorages() const
-{
-    Q_D(const ModemMessaging);
-    return d->supportedStorages;
-}
-
-MMSmsStorage ModemManager::ModemMessaging::defaultStorage() const
-{
-    Q_D(const ModemMessaging);
-    return d->defaultStorage;
-}
-
-ModemManager::Sms::List ModemManager::ModemMessaging::messages()
-{
-    Q_D(ModemMessaging);
-    return d->messages();
-}
-
-QString ModemManager::ModemMessaging::createMessage(const Message &message)
-{
-    Q_D(ModemMessaging);
-
-    QVariantMap map;
-    map.insert("number", message.number);
-    map.insert("text", message.text);
-    map.insert("data", message.data);
-
-    return createMessage(map);
-}
-
-QString ModemManager::ModemMessaging::createMessage(const QVariantMap& message)
-{
-    Q_D(ModemMessaging);
-
-    if (!message.contains("number") || (!message.contains("text") && !message.contains("data"))) {
-        mmDebug() << "Unable to create message, missing some property";
-        return QString();
-    }
-
-    QDBusReply<QDBusObjectPath> msgPath = d->modemMessagingIface.Create(message);
-    if (msgPath.isValid()) {
-        const QString path = msgPath.value().path();
-        ModemManager::Sms::Ptr msg = ModemManager::Sms::Ptr(new ModemManager::Sms(path), &QObject::deleteLater);
-        d->messageList.insert(path, msg);
-        return path;
-    }
-
-    return QString();
-}
-
-void ModemManager::ModemMessaging::deleteMessage(const QString &uni)
-{
-    Q_D(ModemMessaging);
-    d->modemMessagingIface.Delete(QDBusObjectPath(uni));
-}
-
-ModemManager::Sms::Ptr ModemManager::ModemMessaging::findMessage(const QString& uni)
-{
-    Q_D(ModemMessaging);
-    return d->findMessage(uni);
-}
diff -pruN 1.0.1-2/modemmessaging.h 5.2.2-0ubuntu1/modemmessaging.h
--- 1.0.1-2/modemmessaging.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemmessaging.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,135 +0,0 @@
-/*
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMMESSAGING_H
-#define MODEMMANAGERQT_MODEMMESSAGING_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-
-#include "sms.h"
-#include "generic-types.h"
-#include "interface.h"
-
-class ModemMessagingPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The ModemMessaging class
- *
- * The Messaging interface handles sending SMS messages and notification of new incoming messages.
- */
-class MODEMMANAGERQT_EXPORT ModemMessaging : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ModemMessaging)
-
-public:
-    struct Message {
-        QString number;
-        QString text;
-        QByteArray data;
-    };
-
-    typedef QSharedPointer<ModemMessaging> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit ModemMessaging(const QString &path, QObject *parent = 0);
-    ~ModemMessaging();
-
-    /**
-     * @return A list of MMSmsStorage values, specifying the storages supported by this
-     * modem for storing and receiving SMS.
-     */
-    QList<MMSmsStorage> supportedStorages() const;
-
-    /**
-     * @return A MMSmsStorage value, specifying the storage to be used when receiving or storing SMS.
-     */
-    MMSmsStorage defaultStorage() const;
-
-    /**
-     * Retrieve all SMS messages.
-     *
-     * This method should only be used once and subsequent information retrieved
-     * either by listening for the messageAdded() signal, or by
-     * querying the specific SMS object of interest using findMessage()
-     */
-    ModemManager::Sms::List messages();
-
-    /**
-     * Creates a new message object.
-     * @param message Message structure with the 'number' and either 'text' or 'data' properties
-     */
-    QString createMessage(const Message &message);
-    /**
-     * Creates a new message object.
-     * @param message QVariantMap containing message properties
-     * The 'number' and either 'text' or 'data' properties are mandatory, others are optional.
-     */
-    QString createMessage(const QVariantMap &message);
-
-    /**
-     * Delete an SMS message.
-     *
-     * @param uni path to the Sms object
-     */
-    void deleteMessage(const QString &uni);
-
-    /**
-     * @param uni path to the Sms object
-     * @return pointer to the found Sms (may be null if not found)
-     */
-    ModemManager::Sms::Ptr findMessage(const QString &uni);
-
-private Q_SLOTS:
-    void onPropertiesChanged(const QString &interface, const QVariantMap &changedProperties, const QStringList &invalidatedProps);
-    void onMessageAdded(const QDBusObjectPath &path, bool received);
-    void onMessageDeleted(const QDBusObjectPath &path);
-
-Q_SIGNALS:
-    /**
-     * 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.
-     *
-     * Check the 'State' property to determine if the message is complete.
-     *
-     * @param uni path to the Sms object
-     * @param received @p true if the message was received from the network, as opposed to being added locally.
-     */
-    void messageAdded(const QString &uni, bool received);
-
-    /**
-     * Emitted when a message has been deleted.
-     * @param uni path to the Sms object
-     */
-    void messageDeleted(const QString &uni);
-};
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemmessaging_p.h 5.2.2-0ubuntu1/modemmessaging_p.h
--- 1.0.1-2/modemmessaging_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemmessaging_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,43 +0,0 @@
-/*
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_MODEMMESSAGING_P_H
-#define MODEMMANAGER_MODEMMESSAGING_P_H
-
-#include "interface_p.h"
-#include "dbus/Messaging.h"
-#include "sms.h"
-
-class ModemMessagingPrivate: public InterfacePrivate
-{
-public:
-    explicit ModemMessagingPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemMessagingInterface modemMessagingIface;
-
-    QMap<QString, ModemManager::Sms::Ptr> messageList;
-    QList<MMSmsStorage> supportedStorages;
-    MMSmsStorage defaultStorage;
-    ModemManager::Sms::Ptr findMessage(const QString &uni);
-    ModemManager::Sms::List messages();
-};
-
-#endif
diff -pruN 1.0.1-2/modem_p.h 5.2.2-0ubuntu1/modem_p.h
--- 1.0.1-2/modem_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modem_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,42 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEM_P_H
-#define MODEMMANAGERQT_MODEM_P_H
-
-#include "dbus/Modem.h"
-#include "dbus/ModemSimple.h"
-
-#include "interface_p.h"
-
-class ModemPrivate: public InterfacePrivate
-{
-public:
-    explicit ModemPrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemInterface modemIface;
-    OrgFreedesktopModemManager1ModemSimpleInterface modemSimpleIface;
-    QString device;
-    QStringList drivers;
-    QString simPath;
-};
-
-#endif
diff -pruN 1.0.1-2/modemtime.cpp 5.2.2-0ubuntu1/modemtime.cpp
--- 1.0.1-2/modemtime.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemtime.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,80 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "modemtime.h"
-#include "modemtime_p.h"
-#include "mmdebug.h"
-
-ModemTimePrivate::ModemTimePrivate(const QString &path)
-    : InterfacePrivate(path)
-    , modemTimeIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::ModemTime::ModemTime(const QString &path, QObject *parent)
-    : Interface(*new ModemTimePrivate(path), parent)
-{
-    Q_D(ModemTime);
-
-    connect(&d->modemTimeIface, SIGNAL(NetworkTimeChanged(QString)), SLOT(onNetworkTimeChanged(QString)));
-}
-
-ModemManager::ModemTime::~ModemTime()
-{
-}
-
-QDateTime ModemManager::ModemTime::networkTime()
-{
-    Q_D(ModemTime);
-    QDBusPendingReply<QString> reply = d->modemTimeIface.GetNetworkTime();
-    reply.waitForFinished();
-    if (reply.isValid()) {
-        return QDateTime::fromString(reply.value(), Qt::ISODate);
-    }
-
-    return QDateTime();
-}
-
-ModemManager::ModemTime::NetworkTimeZone ModemManager::ModemTime::networkTimeZone() const
-{
-    Q_D(const ModemTime);
-
-    NetworkTimeZone result;
-    const QVariantMap map = d->modemTimeIface.networkTimezone();
-    if (map.contains("offset"))
-        result.offset = map.value("offset").toInt();
-    if (map.contains("dst-offset"))
-        result.dst_offset = map.value("dst-offset").toInt();
-    if (map.contains("leap-seconds"))
-        result.leap_seconds = map.value("leap-seconds").toInt();
-
-    return result;
-}
-
-
-void ModemManager::ModemTime::onNetworkTimeChanged(const QString &isoDateTime)
-{
-    Q_D(ModemTime);
-
-    const QDateTime result = QDateTime::fromString(isoDateTime, Qt::ISODate);
-    if (result.isValid())
-        emit networkTimeChanged(result);
-}
diff -pruN 1.0.1-2/modemtime.h 5.2.2-0ubuntu1/modemtime.h
--- 1.0.1-2/modemtime.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemtime.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,87 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_MODEMTIME_H
-#define MODEMMANAGERQT_MODEMTIME_H
-
-#include "ModemManagerQt-export.h"
-#include "interface.h"
-
-#include <QObject>
-#include <QDateTime>
-#include <QSharedPointer>
-
-class ModemTimePrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The ModemTime class
- *
- * This class allows clients to receive network time and timezone updates broadcast by mobile networks.
- */
-class MODEMMANAGERQT_EXPORT ModemTime : public Interface
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(ModemTime)
-
-public:
-    typedef QSharedPointer<ModemTime> Ptr;
-    typedef QList<Ptr> List;
-
-    struct NetworkTimeZone {
-        int offset; ///< Offset of the timezone from UTC, in minutes (including DST, if applicable)
-        int dst_offset; ///< Amount of offset that is due to DST (daylight saving time)
-        int leap_seconds; ///< Number of leap seconds included in the network time
-    };
-
-    explicit ModemTime(const QString &path, QObject *parent = 0);
-    ~ModemTime();
-
-    /**
-     * @return the current network time in local time.
-     *
-     * 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.
-     */
-    QDateTime networkTime();
-
-    /**
-     * @return the timezone data provided by the network.
-     * @see NetworkTimeZone
-     */
-    NetworkTimeZone networkTimeZone() const;
-
-Q_SIGNALS:
-    /**
-     * Sent when the network time is updated.
-     * @param dateTime the new date and time
-     */
-    void networkTimeChanged(const QDateTime &dateTime);
-
-private Q_SLOTS:
-    void onNetworkTimeChanged(const QString &isoDateTime);
-};
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/modemtime_p.h 5.2.2-0ubuntu1/modemtime_p.h
--- 1.0.1-2/modemtime_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/modemtime_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,35 +0,0 @@
-/*
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_MODEMTIME_P_H
-#define MODEMMANAGER_MODEMTIME_P_H
-
-#include "interface_p.h"
-#include "dbus/Time.h"
-
-class ModemTimePrivate: public InterfacePrivate
-{
-public:
-    explicit ModemTimePrivate(const QString &path);
-    OrgFreedesktopModemManager1ModemTimeInterface modemTimeIface;
-};
-
-#endif
diff -pruN 1.0.1-2/.pc/applied-patches 5.2.2-0ubuntu1/.pc/applied-patches
--- 1.0.1-2/.pc/applied-patches	2015-03-24 20:07:16.736990379 +0000
+++ 5.2.2-0ubuntu1/.pc/applied-patches	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-kubuntu_bump_soversion.diff
-do_not_override_cflags
diff -pruN 1.0.1-2/.pc/do_not_override_cflags/CMakeLists.txt 5.2.2-0ubuntu1/.pc/do_not_override_cflags/CMakeLists.txt
--- 1.0.1-2/.pc/do_not_override_cflags/CMakeLists.txt	2015-03-24 20:07:16.000000000 +0000
+++ 5.2.2-0ubuntu1/.pc/do_not_override_cflags/CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,177 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-project(ModemManagerQt)
-
-include(FindPkgConfig)
-
-set(VERSION 1.0.1)
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH})
-set(LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
-set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING
-    "Library directory name")
-set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/" CACHE STRING
-    "Base directory for pkgconfig files")
-
-if (NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE Debug)
-endif()
-
-find_package(Qt4 REQUIRED)
-pkg_check_modules(MODEMMANAGER REQUIRED ModemManager>=0.8)
-
-add_definitions(${QT_DEFINITIONS})
-
-include(CheckCXXCompilerFlag)
-check_cxx_compiler_flag("-Werror=return-type" HAVE_GCC_ERROR_RETURN_TYPE)
-if (HAVE_GCC_ERROR_RETURN_TYPE)
-    set(CMAKE_CXX_FLAGS "-Werror=return-type")
-endif()
-
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/dbus
-    ${CMAKE_CURRENT_BUILD_DIR}
-    ${CMAKE_SOURCE_DIR}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_INCLUDE_PATH}
-    ${QT_INCLUDES}
-    ${MODEMMANAGER_INCLUDE_DIRS}
-)
-
-link_directories(${CMAKE_LIBRARY_PATH})
-
-#add_subdirectory(dbus)
-
-set(ModemManagerQt_HEADERS
-    dbus/generic-types.h
-    ModemManagerQt-export.h
-    bearer.h
-    interface.h
-    manager.h
-    modem.h
-    modem3gpp.h
-    modem3gppussd.h
-    modemcdma.h
-    modemdevice.h
-    modemlocation.h
-    modemmessaging.h
-    modemtime.h
-    sim.h
-    sms.h
-)
-
-set(ModemManagerQt_PRIVATE_HEADERS
-    bearer_p.h
-    interface_p.h
-    manager_p.h
-    modem_p.h
-    modem3gpp_p.h
-    modem3gppussd_p.h
-    modemcdma_p.h
-    modemdevice_p.h
-    modemlocation_p.h
-    modemmessaging_p.h
-    modemtime_p.h
-    sim_p.h
-    sms_p.h
-)
-
-set(ModemManagerQt_SRCS
-    bearer.cpp
-    interface.cpp
-    manager.cpp
-    modem.cpp
-    modem3gpp.cpp
-    modem3gppussd.cpp
-    modemcdma.cpp
-    modemdevice.cpp
-    modemlocation.cpp
-    modemmessaging.cpp
-    modemtime.cpp
-    sim.cpp
-    sms.cpp
-)
-
-set( DBUS_INTERFACES_FILES
-   dbus/generic-types.cpp
-   dbus/Bearer.cpp
-   dbus/Location.cpp
-   dbus/Manager.cpp
-   dbus/Messaging.cpp
-   dbus/Modem.cpp
-   dbus/Modem3gpp.cpp
-   dbus/Modem3gppUssd.cpp
-   dbus/ModemCdma.cpp
-   dbus/ModemSimple.cpp
-   dbus/Sim.cpp
-   dbus/Sms.cpp
-   dbus/Time.cpp
-   dbus/dbus_manager.cpp
-)
-
-set( DBUS_INTERFACES_HEADERS
-   dbus/generic-types.h
-   dbus/Bearer.h
-   dbus/Location.h
-   dbus/Manager.h
-   dbus/Messaging.h
-   dbus/Modem.h
-   dbus/Modem3gpp.h
-   dbus/Modem3gppUssd.h
-   dbus/ModemCdma.h
-   dbus/ModemSimple.h
-   dbus/Sim.h
-   dbus/Sms.h
-   dbus/Time.h
-   dbus/dbus_manager.h
-)
-
-qt4_wrap_cpp(ModemManagerQt_MOC ${ModemManagerQt_HEADERS} ${ModemManagerQt_PRIVATE_HEADERS} ${DBUS_INTERFACES_HEADERS})
-qt4_automoc(${DBUS_INTERFACES_FILES})
-
-add_library(ModemManagerQt SHARED ${ModemManagerQt_MOC} ${ModemManagerQt_SRCS} ${DBUS_INTERFACES_FILES})
-
-target_link_libraries(ModemManagerQt ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTDBUS_LIBRARY})
-install(TARGETS ModemManagerQt DESTINATION ${LIB_DESTINATION})
-
-install(FILES ${ModemManagerQt_HEADERS} DESTINATION include/ModemManagerQt COMPONENT Devel)
-
-set_property(TARGET ModemManagerQt PROPERTY COMPILE_DEFINITIONS MAKE_MODEMMANAGERQT_LIB)
-set_property(TARGET ModemManagerQt PROPERTY VERSION ${VERSION})
-set_property(TARGET ModemManagerQt PROPERTY SOVERSION 1)
-
-message(STATUS "Writing pkg-config file...")
-configure_file(${CMAKE_SOURCE_DIR}/ModemManagerQt.pc.cmake ${CMAKE_BINARY_DIR}/ModemManagerQt.pc @ONLY)
-install(FILES ${CMAKE_BINARY_DIR}/ModemManagerQt.pc DESTINATION "${PKGCONFIG_INSTALL_PREFIX}")
-
-##################  apidox  ################################
-find_package(Doxygen)
-
-if(DOXYGEN_EXECUTABLE)
-  configure_file(${CMAKE_SOURCE_DIR}/.Doxyfile.cmake ${CMAKE_BINARY_DIR}/Doxyfile)
-
-  if(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "${QT_DOC_DIR}/html")
-  else(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "http://qt-project.org/doc/latest/")
-  endif(EXISTS ${QT_DOC_DIR}/html)
-
-  add_custom_target(
-    apidox
-    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile)
-endif(DOXYGEN_EXECUTABLE)
-
-##################  examples  ################################
-option(BUILD_EXAMPLES "Build example applications" FALSE)
-if (BUILD_EXAMPLES)
-    add_subdirectory(examples)
-endif(BUILD_EXAMPLES)
-
-##################  uninstall target  ########################
-configure_file(
-    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
-    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-    IMMEDIATE @ONLY)
-
-add_custom_target(uninstall
-    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
diff -pruN 1.0.1-2/.pc/kubuntu_bump_soversion.diff/CMakeLists.txt 5.2.2-0ubuntu1/.pc/kubuntu_bump_soversion.diff/CMakeLists.txt
--- 1.0.1-2/.pc/kubuntu_bump_soversion.diff/CMakeLists.txt	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/.pc/kubuntu_bump_soversion.diff/CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,177 +0,0 @@
-cmake_minimum_required(VERSION 2.8)
-
-project(ModemManagerQt)
-
-include(FindPkgConfig)
-
-set(VERSION 1.0.1)
-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH})
-set(LIB_SUFFIX "" CACHE STRING "Define suffix of library directory name (32/64)" )
-set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING
-    "Library directory name")
-set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/" CACHE STRING
-    "Base directory for pkgconfig files")
-
-if (NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE Debug)
-endif()
-
-find_package(Qt4 REQUIRED)
-pkg_check_modules(MODEMMANAGER REQUIRED ModemManager>=0.8)
-
-add_definitions(${QT_DEFINITIONS})
-
-include(CheckCXXCompilerFlag)
-check_cxx_compiler_flag("-Werror=return-type" HAVE_GCC_ERROR_RETURN_TYPE)
-if (HAVE_GCC_ERROR_RETURN_TYPE)
-    set(CMAKE_CXX_FLAGS "-Werror=return-type")
-endif()
-
-include_directories(
-    ${CMAKE_CURRENT_SOURCE_DIR}
-    ${CMAKE_CURRENT_SOURCE_DIR}/dbus
-    ${CMAKE_CURRENT_BUILD_DIR}
-    ${CMAKE_SOURCE_DIR}
-    ${CMAKE_BINARY_DIR}
-    ${CMAKE_INCLUDE_PATH}
-    ${QT_INCLUDES}
-    ${MODEMMANAGER_INCLUDE_DIRS}
-)
-
-link_directories(${CMAKE_LIBRARY_PATH})
-
-#add_subdirectory(dbus)
-
-set(ModemManagerQt_HEADERS
-    dbus/generic-types.h
-    ModemManagerQt-export.h
-    bearer.h
-    interface.h
-    manager.h
-    modem.h
-    modem3gpp.h
-    modem3gppussd.h
-    modemcdma.h
-    modemdevice.h
-    modemlocation.h
-    modemmessaging.h
-    modemtime.h
-    sim.h
-    sms.h
-)
-
-set(ModemManagerQt_PRIVATE_HEADERS
-    bearer_p.h
-    interface_p.h
-    manager_p.h
-    modem_p.h
-    modem3gpp_p.h
-    modem3gppussd_p.h
-    modemcdma_p.h
-    modemdevice_p.h
-    modemlocation_p.h
-    modemmessaging_p.h
-    modemtime_p.h
-    sim_p.h
-    sms_p.h
-)
-
-set(ModemManagerQt_SRCS
-    bearer.cpp
-    interface.cpp
-    manager.cpp
-    modem.cpp
-    modem3gpp.cpp
-    modem3gppussd.cpp
-    modemcdma.cpp
-    modemdevice.cpp
-    modemlocation.cpp
-    modemmessaging.cpp
-    modemtime.cpp
-    sim.cpp
-    sms.cpp
-)
-
-set( DBUS_INTERFACES_FILES
-   dbus/generic-types.cpp
-   dbus/Bearer.cpp
-   dbus/Location.cpp
-   dbus/Manager.cpp
-   dbus/Messaging.cpp
-   dbus/Modem.cpp
-   dbus/Modem3gpp.cpp
-   dbus/Modem3gppUssd.cpp
-   dbus/ModemCdma.cpp
-   dbus/ModemSimple.cpp
-   dbus/Sim.cpp
-   dbus/Sms.cpp
-   dbus/Time.cpp
-   dbus/dbus_manager.cpp
-)
-
-set( DBUS_INTERFACES_HEADERS
-   dbus/generic-types.h
-   dbus/Bearer.h
-   dbus/Location.h
-   dbus/Manager.h
-   dbus/Messaging.h
-   dbus/Modem.h
-   dbus/Modem3gpp.h
-   dbus/Modem3gppUssd.h
-   dbus/ModemCdma.h
-   dbus/ModemSimple.h
-   dbus/Sim.h
-   dbus/Sms.h
-   dbus/Time.h
-   dbus/dbus_manager.h
-)
-
-qt4_wrap_cpp(ModemManagerQt_MOC ${ModemManagerQt_HEADERS} ${ModemManagerQt_PRIVATE_HEADERS} ${DBUS_INTERFACES_HEADERS})
-qt4_automoc(${DBUS_INTERFACES_FILES})
-
-add_library(ModemManagerQt SHARED ${ModemManagerQt_MOC} ${ModemManagerQt_SRCS} ${DBUS_INTERFACES_FILES})
-
-target_link_libraries(ModemManagerQt ${QT_QTCORE_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTDBUS_LIBRARY})
-install(TARGETS ModemManagerQt DESTINATION ${LIB_DESTINATION})
-
-install(FILES ${ModemManagerQt_HEADERS} DESTINATION include/ModemManagerQt COMPONENT Devel)
-
-set_property(TARGET ModemManagerQt PROPERTY COMPILE_DEFINITIONS MAKE_MODEMMANAGERQT_LIB)
-set_property(TARGET ModemManagerQt PROPERTY VERSION ${VERSION})
-set_property(TARGET ModemManagerQt PROPERTY SOVERSION 0)
-
-message(STATUS "Writing pkg-config file...")
-configure_file(${CMAKE_SOURCE_DIR}/ModemManagerQt.pc.cmake ${CMAKE_BINARY_DIR}/ModemManagerQt.pc @ONLY)
-install(FILES ${CMAKE_BINARY_DIR}/ModemManagerQt.pc DESTINATION "${PKGCONFIG_INSTALL_PREFIX}")
-
-##################  apidox  ################################
-find_package(Doxygen)
-
-if(DOXYGEN_EXECUTABLE)
-  configure_file(${CMAKE_SOURCE_DIR}/.Doxyfile.cmake ${CMAKE_BINARY_DIR}/Doxyfile)
-
-  if(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "${QT_DOC_DIR}/html")
-  else(EXISTS ${QT_DOC_DIR}/html)
-    set(QTDOCS "http://qt-project.org/doc/latest/")
-  endif(EXISTS ${QT_DOC_DIR}/html)
-
-  add_custom_target(
-    apidox
-    COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile)
-endif(DOXYGEN_EXECUTABLE)
-
-##################  examples  ################################
-option(BUILD_EXAMPLES "Build example applications" FALSE)
-if (BUILD_EXAMPLES)
-    add_subdirectory(examples)
-endif(BUILD_EXAMPLES)
-
-##################  uninstall target  ########################
-configure_file(
-    "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
-    "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
-    IMMEDIATE @ONLY)
-
-add_custom_target(uninstall
-    COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
diff -pruN 1.0.1-2/README.md 5.2.2-0ubuntu1/README.md
--- 1.0.1-2/README.md	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/README.md	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,15 @@
+# ModemManagerQt
+
+Qt wrapper for ModemManager DBus API.
+
+## Introduction
+
+<!-- TODO - update description -->
+Longer description.
+
+## Links
+  <!-- TODO - move to frameworks -->
+- Home page: <https://projects.kde.org/projects/extragear/libs/libmm-qt>
+- Mailing list: <https://mail.kde.org/mailman/listinfo/kde-frameworks-devel>
+- IRC channel: #kde-devel and #solid on Freenode
+- Git repository: <https://projects.kde.org/projects/extragear/libs/libmm-qt/repository>
diff -pruN 1.0.1-2/sim.cpp 5.2.2-0ubuntu1/sim.cpp
--- 1.0.1-2/sim.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sim.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,97 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010-2011 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "sim.h"
-#include "sim_p.h"
-#include "mmdebug.h"
-
-SimPrivate::SimPrivate(const QString &path)
-    : simIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-    , uni(path)
-{
-}
-
-ModemManager::Sim::Sim(const QString &path, QObject *parent)
-    : QObject(parent)
-    , d_ptr(new SimPrivate(path))
-{
-}
-
-ModemManager::Sim::~Sim()
-{
-    delete d_ptr;
-}
-
-QString ModemManager::Sim::simIdentifier() const
-{
-    Q_D(const Sim);
-    return d->simIface.simIdentifier();
-}
-
-QString ModemManager::Sim::imsi() const
-{
-    Q_D(const Sim);
-    return d->simIface.imsi();
-}
-
-QString ModemManager::Sim::operatorIdentifier() const
-{
-    Q_D(const Sim);
-    return d->simIface.operatorIdentifier();
-}
-
-QString ModemManager::Sim::operatorName() const
-{
-    Q_D(const Sim);
-    return d->simIface.operatorName();
-}
-
-QDBusPendingReply<> ModemManager::Sim::sendPuk(const QString &puk, const QString &pin)
-{
-    Q_D(Sim);
-    return d->simIface.SendPuk(puk, pin);
-}
-
-QDBusPendingReply<> ModemManager::Sim::sendPin(const QString &pin)
-{
-    Q_D(Sim);
-    return d->simIface.SendPin(pin);
-}
-
-QDBusPendingReply<> ModemManager::Sim::enablePin(const QString &pin, bool enabled)
-{
-    Q_D(Sim);
-    return d->simIface.EnablePin(pin, enabled);
-}
-
-QDBusPendingReply<> ModemManager::Sim::changePin(const QString &oldPin, const QString &newPin)
-{
-    Q_D(Sim);
-    return d->simIface.ChangePin(oldPin, newPin);
-}
-
-QString ModemManager::Sim::uni() const
-{
-    Q_D(const Sim);
-    return d->uni;
-}
diff -pruN 1.0.1-2/sim.h 5.2.2-0ubuntu1/sim.h
--- 1.0.1-2/sim.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sim.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,110 +0,0 @@
-/*
-    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010-2011 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_SIM_H
-#define MODEMMANAGERQT_SIM_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-#include <QDBusPendingReply>
-
-class SimPrivate;
-
-namespace ModemManager
-{
-/**
- * @brief The Sim class
- *
- * The SIM class handles communication with SIM, USIM, and RUIM (CDMA SIM) cards.
- */
-class MODEMMANAGERQT_EXPORT Sim : public QObject
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(Sim)
-
-public:
-    typedef QSharedPointer<Sim> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit Sim(const QString &path, QObject *parent = 0);
-    ~Sim();
-
-    /**
-     * @return An obfuscated SIM identifier based on the IMSI or the ICCID.
-     *
-     * This may be available before the PIN has been entered depending on the device itself.
-     */
-    QString simIdentifier() const;
-
-    /**
-     * @return The IMSI of the SIM card, if any.
-     */
-    QString imsi() const;
-
-    /**
-     * @return The ID of the network operator, as given by the SIM card, if known.
-     */
-    QString operatorIdentifier() const;
-
-    /**
-     * @return The name of the network operator, as given by the SIM card, if known.
-     */
-    QString operatorName() const;
-
-    /**
-     * Send the PIN to unlock the SIM card.
-     * @param pin A string containing the PIN code.
-     */
-    QDBusPendingReply<> sendPin(const QString &pin);
-
-    /**
-     * Send the PUK and a new PIN to unlock the SIM card.
-     * @param puk A string containing the PUK code.
-     * @param pin A string containing the PIN code.
-     */
-    QDBusPendingReply<> sendPuk(const QString &puk, const QString &pin);
-
-    /**
-     * Enable or disable the PIN checking.
-     * @param pin A string containing the PIN code.
-     * @param enabled TRUE to enable PIN checking, FALSE otherwise.
-     */
-    QDBusPendingReply<> enablePin(const QString &pin, bool enabled);
-
-    /**
-     * Change the PIN code.
-     * @param oldPin A string containing the current PIN code.
-     * @param newPin A string containing the new PIN code.
-     */
-    QDBusPendingReply<> changePin(const QString &oldPin, const QString &newPin);
-
-    QString uni() const;
-
-private:
-    SimPrivate *const d_ptr;
-};
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/sim_p.h 5.2.2-0ubuntu1/sim_p.h
--- 1.0.1-2/sim_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sim_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,37 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_SIM_P_H
-#define MODEMMANAGER_SIM_P_H
-
-#include "dbus/Sim.h"
-#include "interface_p.h"
-
-class SimPrivate
-{
-public:
-    explicit SimPrivate(const QString &path);
-    OrgFreedesktopModemManager1SimInterface simIface;
-    QString uni;
-};
-
-#endif
diff -pruN 1.0.1-2/sms.cpp 5.2.2-0ubuntu1/sms.cpp
--- 1.0.1-2/sms.cpp	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sms.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,241 +0,0 @@
-/*
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#include "sms.h"
-#include "sms_p.h"
-
-#include "dbus/dbus.h"
-
-#include <ModemManager/ModemManager.h>
-
-SmsPrivate::SmsPrivate(const QString &path)
-    : smsIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
-{
-}
-
-ModemManager::Sms::Sms(const QString &path, QObject *parent)
-    : QObject(parent)
-    , d_ptr(new SmsPrivate(path))
-{
-    Q_D(Sms);
-
-    d->dBusPath = path;
-    d->state = (MMSmsState) d->smsIface.state();
-    d->pduType = (MMSmsPduType) d->smsIface.pduType();
-    d->number = d->smsIface.number();
-    d->text = d->smsIface.text();
-    d->smsc = d->smsIface.sMSC();
-    d->data = d->smsIface.data();
-    d->validity = d->smsIface.validity();
-    d->smsClass = d->smsIface.smsClass();
-    d->deliveryReportRequest = d->smsIface.deliveryReportRequest();
-    d->messageReference = d->smsIface.messageReference();
-    d->timestamp =  QDateTime::fromString(d->smsIface.timestamp(), Qt::ISODate);
-    d->dischargeTimestamp = QDateTime::fromString(d->smsIface.dischargeTimestamp(), Qt::ISODate);
-    d->deliveryState = (MMSmsDeliveryState) d->smsIface.deliveryState();
-    d->storage = (MMSmsStorage) d->smsIface.storage();
-
-    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
-                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
-}
-
-ModemManager::Sms::~Sms()
-{
-    delete d_ptr;
-}
-
-void ModemManager::Sms::onPropertiesChanged(const QString &interfaceName, const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
-{
-    if (interfaceName == QString(MM_DBUS_INTERFACE_SMS)) {
-        QLatin1String state(MM_SMS_PROPERTY_STATE);
-        QLatin1String pduType(MM_SMS_PROPERTY_PDUTYPE);
-        QLatin1String number(MM_SMS_PROPERTY_NUMBER);
-        QLatin1String smsc(MM_SMS_PROPERTY_SMSC);
-        QLatin1String data(MM_SMS_PROPERTY_DATA);
-        QLatin1String text(MM_SMS_PROPERTY_TEXT);
-        QLatin1String validity(MM_SMS_PROPERTY_VALIDITY);
-        QLatin1String smsClass(MM_SMS_PROPERTY_CLASS);
-        QLatin1String deliveryReportRequest(MM_SMS_PROPERTY_DELIVERYREPORTREQUEST);
-        QLatin1String messageReference(MM_SMS_PROPERTY_MESSAGEREFERENCE);
-        QLatin1String timestamp(MM_SMS_PROPERTY_TIMESTAMP);
-        QLatin1String dischargeTimestamp(MM_SMS_PROPERTY_DISCHARGETIMESTAMP);
-        QLatin1String deliveryState(MM_SMS_PROPERTY_DELIVERYSTATE);
-        QLatin1String storage(MM_SMS_PROPERTY_STORAGE);
-
-        Q_D(Sms);
-
-        QVariantMap::const_iterator it = changedProperties.constFind(state);
-        if (it != changedProperties.constEnd()) {
-            d->state = (MMSmsState) it->toUInt();
-            emit stateChanged(d->state);
-        }
-        it = changedProperties.constFind(pduType);
-        if (it != changedProperties.constEnd()) {
-            d->pduType = (MMSmsPduType) it->toUInt();
-        }
-        it = changedProperties.constFind(number);
-        if (it != changedProperties.constEnd()) {
-            d->number = it->toString();
-        }
-        it = changedProperties.constFind(smsc);
-        if (it != changedProperties.constEnd()) {
-            d->smsc = it->toString();
-        }
-        it = changedProperties.constFind(data);
-        if (it != changedProperties.constEnd()) {
-            d->data = it->toByteArray();
-        }
-        it = changedProperties.constFind(text);
-        if (it != changedProperties.constEnd()) {
-            d->text = it->toString();
-        }
-        it = changedProperties.constFind(validity);
-        if (it != changedProperties.constEnd()) {
-            d->validity = it->value<ValidityPair>();
-        }
-        it = changedProperties.constFind(smsClass);
-        if (it != changedProperties.constEnd()) {
-            d->smsClass = it->toInt();
-        }
-        it = changedProperties.constFind(deliveryReportRequest);
-        if (it != changedProperties.constEnd()) {
-            d->deliveryReportRequest = it->toBool();
-        }
-        it = changedProperties.constFind(messageReference);
-        if (it != changedProperties.constEnd()) {
-            d->messageReference = it->toUInt();
-        }
-        it = changedProperties.constFind(timestamp);
-        if (it != changedProperties.constEnd()) {
-            d->timestamp = QDateTime::fromString(it->toString(), Qt::ISODate);
-        }
-        it = changedProperties.constFind(dischargeTimestamp);
-        if (it != changedProperties.constEnd()) {
-            d->dischargeTimestamp = QDateTime::fromString(it->toString(), Qt::ISODate);
-        }
-        it = changedProperties.constFind(deliveryState);
-        if (it != changedProperties.constEnd()) {
-            d->deliveryState = (MMSmsDeliveryState) it->toUInt();
-            emit deliveryStateChanged(d->deliveryState);
-        }
-        it = changedProperties.constFind(storage);
-        if (it != changedProperties.constEnd()) {
-            d->storage = (MMSmsStorage) it->toUInt();
-        }
-    }
-}
-
-QDBusPendingReply<> ModemManager::Sms::send()
-{
-    Q_D(Sms);
-    return d->smsIface.Send();
-}
-
-QDBusPendingReply<> ModemManager::Sms::store(MMSmsStorage storage)
-{
-    Q_D(Sms);
-    return d->smsIface.Store(storage);
-}
-
-MMSmsState ModemManager::Sms::state() const
-{
-    Q_D(const Sms);
-    return d->state;
-}
-
-MMSmsPduType ModemManager::Sms::pduType() const
-{
-    Q_D(const Sms);
-    return d->pduType;
-}
-
-QString ModemManager::Sms::number() const
-{
-    Q_D(const Sms);
-    return d->number;
-}
-
-QString ModemManager::Sms::text() const
-{
-    Q_D(const Sms);
-    return d->text;
-}
-
-QString ModemManager::Sms::smsc() const
-{
-    Q_D(const Sms);
-    return d->smsc;
-}
-
-QByteArray ModemManager::Sms::data() const
-{
-    Q_D(const Sms);
-    return d->data;
-}
-
-ValidityPair ModemManager::Sms::validity() const
-{
-    Q_D(const Sms);
-    return d->validity;
-}
-
-int ModemManager::Sms::smsClass() const
-{
-    Q_D(const Sms);
-    return d->smsClass;
-}
-
-bool ModemManager::Sms::deliveryReportRequest() const
-{
-    Q_D(const Sms);
-    return d->deliveryReportRequest;
-}
-
-uint ModemManager::Sms::messageReference() const
-{
-    Q_D(const Sms);
-    return d->messageReference;
-}
-
-QDateTime ModemManager::Sms::timestamp() const
-{
-    Q_D(const Sms);
-    return d->timestamp;
-}
-
-QDateTime ModemManager::Sms::dischargeTimestamp() const
-{
-    Q_D(const Sms);
-    return d->dischargeTimestamp;
-}
-
-MMSmsDeliveryState ModemManager::Sms::deliveryState() const
-{
-    Q_D(const Sms);
-    return d->deliveryState;
-}
-
-MMSmsStorage ModemManager::Sms::storage() const
-{
-    Q_D(const Sms);
-    return d->storage;
-}
diff -pruN 1.0.1-2/sms.h 5.2.2-0ubuntu1/sms.h
--- 1.0.1-2/sms.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sms.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,166 +0,0 @@
-/*
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGERQT_SMS_H
-#define MODEMMANAGERQT_SMS_H
-
-#include "ModemManagerQt-export.h"
-
-#include <QObject>
-#include <QSharedPointer>
-#include <QDBusPendingReply>
-
-#include "generic-types.h"
-
-class SmsPrivate;
-
-namespace ModemManager
-{
-/**
-* Provides an interface to manipulate and control an SMS
-*
-* Note: MMSmsStorage, MMSmsState, MMSmsPduType and MMSmsDeliveryState enums are defined in <ModemManager/ModemManager-enums.h>
-* See http://www.freedesktop.org/software/ModemManager/api/1.0.0/ModemManager-Flags-and-Enumerations.html
-*/
-class MODEMMANAGERQT_EXPORT Sms : public QObject
-{
-Q_OBJECT
-Q_DECLARE_PRIVATE(Sms)
-
-public:
-    typedef QSharedPointer<Sms> Ptr;
-    typedef QList<Ptr> List;
-
-    explicit Sms(const QString &path, QObject *parent = 0);
-    ~Sms();
-
-    /**
-    * Send the SMS
-    */
-    QDBusPendingReply<> send();
-
-    /**
-    * Store the SMS
-    *
-    * @param storage the storage location of the SMS (empty for default storage)
-    */
-    QDBusPendingReply<> store(MMSmsStorage storage = MM_SMS_STORAGE_UNKNOWN);
-
-    /**
-    * This method returns the state of the SMS
-    */
-    MMSmsState state() const;
-
-    /**
-    * This method returns the Protocol Data Unit (PDU) type of the SMS
-    */
-    MMSmsPduType pduType() const;
-
-    /**
-    * This method returns the phone number to which the SMS is addressed to
-    */
-    QString number() const;
-
-    /**
-    * This method returns the text of the SMS. text() and data() are not valid at the same time
-    */
-    QString text() const;
-
-    /**
-    * This method returns the SMS service center number
-    */
-    QString smsc() const;
-
-    /**
-    * This method returns the SMS message data. text() and data() are not valid at the same time
-    */
-    QByteArray data() const;
-
-    /**
-    * This method returns the validity of the SMS
-    *
-    * @return A ValidityPair struct composed of a MMSmsValidityType type and a value indicating the validity of the SMS
-    */
-    ValidityPair validity() const;
-
-    /**
-    * This method returns the 3GPP class of the SMS
-    */
-    int smsClass() const;
-
-    /**
-     * @return @c true if a delivery report is requested, @c false otherwise
-     */
-    bool deliveryReportRequest() const;
-
-    /**
-    * This method returns the message reference of the last PDU sent/received in the SMS.
-    * The message reference is the number used to identify the SMS in the SMSC.
-    * If the PDU type is MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the Message Reference of the PDU associated to the status report
-    */
-    uint messageReference() const;
-
-    /**
-    * Time when the SMS arrived at the SMSC
-    */
-    QDateTime timestamp() const;
-
-    /**
-    * Time when the SMS left the SMSC
-    */
-    QDateTime dischargeTimestamp() const;
-
-    /**
-    * This method returns the delivery state of the SMS
-    */
-    MMSmsDeliveryState deliveryState() const;
-
-    /**
-    * This method returns the storage area/location of the SMS
-    */
-    MMSmsStorage storage() const;
-
-Q_SIGNALS:
-    /**
-    * This signal is emitted when the state of the SMS has changed
-    *
-    * @param newState the new state of the SMS
-    */
-    void stateChanged(MMSmsState newState);
-
-    /**
-    * This signal is emitted when the delivery state of the SMS has changed
-    *
-    * @param newDeliveryState the new delivery state of the SMS
-    */
-    void deliveryStateChanged(MMSmsDeliveryState newDeliveryState);
-
-private Q_SLOTS:
-    void onPropertiesChanged(const QString &interface, const QVariantMap &changedProperties, const QStringList &invalidatedProps);
-
-private:
-    SmsPrivate *const d_ptr;
-};
-
-} // namespace ModemManager
-
-#endif
diff -pruN 1.0.1-2/sms_p.h 5.2.2-0ubuntu1/sms_p.h
--- 1.0.1-2/sms_p.h	2014-02-16 23:28:23.000000000 +0000
+++ 5.2.2-0ubuntu1/sms_p.h	1970-01-01 00:00:00.000000000 +0000
@@ -1,54 +0,0 @@
-/*
-    Copyright 2008 Will Stephenson <wstephenson@kde.org>
-    Copyright 2010 Lamarque Souza <lamarque@kde.org>
-    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
-    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
-    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
-
-    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.1 of the License, or (at your option) version 3, or any
-    later version accepted by the membership of KDE e.V. (or its
-    successor approved by the membership of KDE e.V.), which shall
-    act as a proxy defined in Section 6 of version 3 of the license.
-
-    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, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef MODEMMANAGER_SMS_P_H
-#define MODEMMANAGER_SMS_P_H
-
-#include "dbus/Sms.h"
-
-class SmsPrivate
-{
-public:
-    explicit SmsPrivate(const QString &path);
-    OrgFreedesktopModemManager1SmsInterface smsIface;
-
-    QString dBusPath;
-    MMSmsState state;
-    MMSmsPduType pduType;
-    QString number;
-    QString text;
-    QString smsc;
-    QByteArray data;
-    ValidityPair validity;
-    int smsClass;
-    bool deliveryReportRequest;
-    uint messageReference;
-    QDateTime timestamp;
-    QDateTime dischargeTimestamp;
-    MMSmsDeliveryState deliveryState;
-    MMSmsStorage storage;
-};
-
-#endif
-
diff -pruN 1.0.1-2/src/bearer.cpp 5.2.2-0ubuntu1/src/bearer.cpp
--- 1.0.1-2/src/bearer.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/bearer.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,165 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "bearer.h"
+#include "bearer_p.h"
+#include "mmdebug.h"
+#include "dbus/dbus.h"
+
+BearerPrivate::BearerPrivate(const QString &path)
+    : bearerIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+    , uni(path)
+{
+}
+
+ModemManager::Bearer::Bearer(const QString &path, QObject *parent)
+    : QObject(parent)
+    , d_ptr(new BearerPrivate(path))
+{
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+}
+
+ModemManager::Bearer::~Bearer()
+{
+    delete d_ptr;
+}
+
+QString ModemManager::Bearer::interface() const
+{
+    Q_D(const Bearer);
+    return d->bearerIface.interface();
+}
+
+bool ModemManager::Bearer::isConnected() const
+{
+    Q_D(const Bearer);
+    return d->bearerIface.connected();
+}
+
+bool ModemManager::Bearer::isSuspended() const
+{
+    Q_D(const Bearer);
+    return d->bearerIface.suspended();
+}
+
+ModemManager::Bearer::IpConfig ModemManager::Bearer::ip4Config() const
+{
+    Q_D(const Bearer);
+    IpConfig result;
+    const QVariantMap map = d->bearerIface.ip4Config();
+    result.method = (MMBearerIpMethod)map.value("method").toUInt();
+
+    if (result.method == MM_BEARER_IP_METHOD_STATIC) {
+        result.address = map.value("address").toString();
+        result.prefix = map.value("prefix").toUInt();
+        result.dns1 = map.value("dns1").toString();
+        result.dns2 = map.value("dns2").toString();
+        result.dns3 = map.value("dns3").toString();
+        result.gateway = map.value("gateway").toString();
+    }
+
+    return result;
+}
+
+ModemManager::Bearer::IpConfig ModemManager::Bearer::ip6Config() const
+{
+    Q_D(const Bearer);
+    IpConfig result;
+    const QVariantMap map = d->bearerIface.ip6Config();
+    result.method = (MMBearerIpMethod)map.value("method").toUInt();
+
+    if (result.method == MM_BEARER_IP_METHOD_STATIC) {
+        result.address = map.value("address").toString();
+        result.prefix = map.value("prefix").toUInt();
+        result.dns1 = map.value("dns1").toString();
+        result.dns2 = map.value("dns2").toString();
+        result.dns3 = map.value("dns3").toString();
+        result.gateway = map.value("gateway").toString();
+    }
+
+    return result;
+}
+
+uint ModemManager::Bearer::ipTimeout() const
+{
+    Q_D(const Bearer);
+    return d->bearerIface.ipTimeout();
+}
+
+QVariantMap ModemManager::Bearer::properties() const
+{
+    Q_D(const Bearer);
+    return d->bearerIface.properties();
+}
+
+void ModemManager::Bearer::connectBearer()
+{
+    Q_D(Bearer);
+    d->bearerIface.Connect();
+}
+
+void ModemManager::Bearer::disconnectBearer()
+{
+    Q_D(Bearer);
+    d->bearerIface.Disconnect();
+}
+
+void ModemManager::Bearer::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
+{
+    Q_UNUSED(invalidatedProps);
+    mmDebug() << interface << properties.keys();
+
+    if (interface == QString(MM_DBUS_INTERFACE_BEARER)) {
+        QLatin1String interface(MM_BEARER_PROPERTY_INTERFACE);
+        QLatin1String connected(MM_BEARER_PROPERTY_CONNECTED);
+        QLatin1String suspended(MM_BEARER_PROPERTY_SUSPENDED);
+        QLatin1String ip4Config(MM_BEARER_PROPERTY_IP4CONFIG);
+        QLatin1String ip6Config(MM_BEARER_PROPERTY_IP6CONFIG);
+
+        QVariantMap::const_iterator it = properties.constFind(interface);
+        if (it != properties.constEnd()) {
+            emit interfaceChanged(it->toString());
+        }
+        it = properties.constFind(connected);
+        if (it != properties.constEnd()) {
+            emit connectedChanged(it->toBool());
+        }
+        it = properties.constFind(suspended);
+        if (it != properties.constEnd()) {
+            emit suspendedChanged(it->toBool());
+        }
+        it = properties.constFind(ip4Config);
+        if (it != properties.constEnd()) {
+            emit ip4ConfigChanged();
+        }
+        it = properties.constFind(ip6Config);
+        if (it != properties.constEnd()) {
+            emit ip6ConfigChanged();
+        }
+    }
+}
+
+QString ModemManager::Bearer::uni() const
+{
+    Q_D(const Bearer);
+    return d->uni;
+}
diff -pruN 1.0.1-2/src/bearer.h 5.2.2-0ubuntu1/src/bearer.h
--- 1.0.1-2/src/bearer.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/bearer.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,158 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_BEARER_H
+#define MODEMMANAGERQT_BEARER_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "generictypes.h"
+
+class BearerPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The Bearer class
+ *
+ * This class provides access to specific actions that may be performed on available bearers.
+ */
+class MODEMMANAGERQT_EXPORT Bearer: public QObject
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Bearer)
+
+public:
+    typedef QSharedPointer<Bearer> Ptr;
+    typedef QList<Ptr> List;
+
+    struct IpConfig {
+        MMBearerIpMethod method;
+        QString address;
+        uint prefix;
+        QString dns1;
+        QString dns2;
+        QString dns3;
+        QString gateway;
+    };
+
+    explicit Bearer(const QString &path, QObject *parent = 0);
+    ~Bearer();
+
+    /**
+     * @return the operating system name for the network data interface that
+     * provides packet data using this bearer.
+     *
+     * Connection managers must configure this interface depending on the IP
+     * "method" given by the ip4Config() or ip6Config() properties set by bearer
+     * activation.
+     *
+     * If MM_BEARER_IP_METHOD_STATIC or MM_BEARER_IP_METHOD_DHCP methods are
+     * given, the interface will be an ethernet-style interface suitable for DHCP
+     * or setting static IP configuration on, while if the
+     * MM_BEARER_IP_METHOD_PPP method is given, the interface will be a serial
+     * TTY which must then have PPP run over it.
+     *
+     */
+    QString interface() const;
+
+    /**
+     * @return whether or not the bearer is connected and thus whether packet
+     * data communication using this bearer is possible.
+     */
+    bool isConnected() const;
+
+    /**
+     * 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 @p true
+     */
+    bool isSuspended() const;
+
+    /**
+     * If the bearer was configured for IPv4 addressing, upon activation
+     * this property contains the addressing details for assignment to the data
+     * interface.
+     */
+    IpConfig ip4Config() const;
+
+    /**
+     * If the bearer was configured for IPv6 addressing, upon activation this
+     * property contains the addressing details for assignment to the data
+     * interface.
+     */
+    IpConfig ip6Config() const;
+
+    /**
+     * @return maximum time to wait for a successful IP establishment, when PPP is used.
+     */
+    uint ipTimeout() const;
+
+    /**
+     * @return map of properties used when creating the bearer
+     * @see IpConfig
+     */
+    QVariantMap properties() const;
+
+    /**
+     * 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 ip4Config() and/or ip6Config() properties become
+     * valid and may contain IP configuration information for the data interface
+     * associated with this bearer.
+     */
+    void connectBearer();
+
+    /**
+     * Disconnect and deactivate this packet data connection.
+     *
+     * Any ongoing data session will be terminated and IP addresses become invalid when this method is called.
+     */
+    void disconnectBearer();
+
+    /**
+     * @return the DBUS path (uni) to the object
+     */
+    QString uni() const;
+
+Q_SIGNALS:
+    void interfaceChanged(const QString &iface);
+    void connectedChanged(bool connected);
+    void suspendedChanged(bool suspended);
+    void ip4ConfigChanged();
+    void ip6ConfigChanged();
+
+private Q_SLOTS:
+   void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
+
+private:
+    BearerPrivate *const d_ptr;
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/bearer_p.h 5.2.2-0ubuntu1/src/bearer_p.h
--- 1.0.1-2/src/bearer_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/bearer_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,36 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_BEARER_P_H
+#define MODEMMANAGER_BEARER_P_H
+
+#include "dbus/bearerinterface.h"
+#include "interface_p.h"
+
+class BearerPrivate
+{
+public:
+    explicit BearerPrivate(const QString &path);
+    OrgFreedesktopModemManager1BearerInterface bearerIface;
+    QString uni;
+};
+
+#endif
diff -pruN 1.0.1-2/src/CMakeLists.txt 5.2.2-0ubuntu1/src/CMakeLists.txt
--- 1.0.1-2/src/CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/CMakeLists.txt	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,102 @@
+#add_subdirectory(dbus)
+
+include_directories(
+    ${MODEMMANAGER_INCLUDE_DIRS}
+)
+
+set(ModemManagerQt_SRCS
+    bearer.cpp
+    generictypes.cpp
+    interface.cpp
+    manager.cpp
+    modem.cpp
+    modem3gpp.cpp
+    modem3gppussd.cpp
+    modemcdma.cpp
+    modemdevice.cpp
+    modemfirmware.cpp
+    modemlocation.cpp
+    modemmessaging.cpp
+    modemtime.cpp
+    sim.cpp
+    sms.cpp
+)
+
+set(DBUS_INTERFACES_FILES
+   dbus/bearerinterface.cpp
+   dbus/dbus_manager.cpp
+   dbus/firmwareinterface.cpp
+   dbus/locationinterface.cpp
+   dbus/messaginginterface.cpp
+   dbus/modem3gppinterface.cpp
+   dbus/modemcdmainterface.cpp
+   dbus/modeminterface.cpp
+   dbus/modemmanager1interface.cpp
+   dbus/siminterface.cpp
+   dbus/simpleinterface.cpp
+   dbus/smsinterface.cpp
+   dbus/timeinterface.cpp
+   dbus/ussdinterface.cpp
+)
+
+if (${MODEMMANAGER_VERSION} VERSION_EQUAL 1.2.0 OR ${MODEMMANAGER_VERSION} VERSION_GREATER 1.2.0)
+    set(ModemManagerQt_SRCS
+        ${ModemManagerQt_SRCS}
+        modemoma.cpp
+        modemsignal.cpp
+        )
+
+    set(DBUS_INTERFACES_FILES
+        ${DBUS_INTERFACES_FILES}
+        dbus/omainterface.cpp
+        dbus/signalinterface.cpp
+        )
+endif()
+
+add_library(KF5ModemManagerQt SHARED ${ModemManagerQt_SRCS} ${DBUS_INTERFACES_FILES})
+generate_export_header(KF5ModemManagerQt BASE_NAME ModemManagerQt)
+add_library(KF5::ModemManagerQt ALIAS KF5ModemManagerQt)
+
+target_include_directories(KF5ModemManagerQt INTERFACE "$<INSTALL_INTERFACE:${KF5_INCLUDE_INSTALL_DIR}/ModemManagerQt>")
+
+target_link_libraries(KF5ModemManagerQt PUBLIC Qt5::Core Qt5::DBus Qt5::Xml)
+
+set_target_properties(KF5ModemManagerQt PROPERTIES VERSION ${MODEMMANAGERQT_VERSION_STRING}
+                                                   SOVERSION ${MODEMMANAGERQT_SOVERSION}
+                                                   EXPORT_NAME ModemManagerQt
+)
+
+ecm_generate_headers(ModemManagerQt_HEADERS
+  HEADER_NAMES
+  Bearer
+  GenericTypes
+  Interface
+  Manager
+  Modem
+  Modem3Gpp
+  Modem3GppUssd
+  ModemCdma
+  ModemDevice
+  ModemFirmware
+  ModemLocation
+  ModemMessaging
+  ModemSignal
+  ModemTime
+  ModemOma
+  Sim
+  Sms
+
+  REQUIRED_HEADERS ModemManagerQt_HEADERS
+)
+
+install(TARGETS KF5ModemManagerQt EXPORT KF5ModemManagerQtTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
+
+install(FILES
+  ${CMAKE_CURRENT_BINARY_DIR}/modemmanagerqt_export.h
+  ${ModemManagerQt_HEADERS}
+  DESTINATION ${KF5_INCLUDE_INSTALL_DIR}/ModemManagerQt COMPONENT Devel
+)
+
+include(ECMGeneratePriFile)
+ecm_generate_pri_file(BASE_NAME ModemManagerQt LIB_NAME KF5ModemManagerQt DEPS "core" FILENAME_VAR PRI_FILENAME)
+install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
diff -pruN 1.0.1-2/src/dbus/bearerinterface.cpp 5.2.2-0ubuntu1/src/dbus/bearerinterface.cpp
--- 1.0.1-2/src/dbus/bearerinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/bearerinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p bearerinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "bearerinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1BearerInterface
+ */
+
+OrgFreedesktopModemManager1BearerInterface::OrgFreedesktopModemManager1BearerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1BearerInterface::~OrgFreedesktopModemManager1BearerInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/bearerinterface.h 5.2.2-0ubuntu1/src/dbus/bearerinterface.h
--- 1.0.1-2/src/dbus/bearerinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/bearerinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,84 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p bearerinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_BEARERINTERFACE_H
+#define MODEMMANAGERQT_BEARERINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Bearer
+ */
+class OrgFreedesktopModemManager1BearerInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Bearer"; }
+
+public:
+    OrgFreedesktopModemManager1BearerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1BearerInterface();
+
+    Q_PROPERTY(bool Connected READ connected)
+    inline bool connected() const
+    { return qvariant_cast< bool >(property("Connected")); }
+
+    Q_PROPERTY(QString Interface READ interface)
+    inline QString interface() const
+    { return qvariant_cast< QString >(property("Interface")); }
+
+    Q_PROPERTY(QVariantMap Ip4Config READ ip4Config)
+    inline QVariantMap ip4Config() const
+    { return qvariant_cast< QVariantMap >(property("Ip4Config")); }
+
+    Q_PROPERTY(QVariantMap Ip6Config READ ip6Config)
+    inline QVariantMap ip6Config() const
+    { return qvariant_cast< QVariantMap >(property("Ip6Config")); }
+
+    Q_PROPERTY(uint IpTimeout READ ipTimeout)
+    inline uint ipTimeout() const
+    { return qvariant_cast< uint >(property("IpTimeout")); }
+
+    Q_PROPERTY(QVariantMap Properties READ properties)
+    inline QVariantMap properties() const
+    { return qvariant_cast< QVariantMap >(property("Properties")); }
+
+    Q_PROPERTY(bool Suspended READ suspended)
+    inline bool suspended() const
+    { return qvariant_cast< bool >(property("Suspended")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Connect()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Connect"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Disconnect()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Disconnect"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/CMakeLists.txt 5.2.2-0ubuntu1/src/dbus/CMakeLists.txt
--- 1.0.1-2/src/dbus/CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/CMakeLists.txt	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,45 @@
+find_package(Qt4 REQUIRED)
+
+add_definitions(${QT_DEFINITIONS})
+set( INTERFACE_INTROSPECTION_XML_FILES
+   introspection/org.freedesktop.ModemManager1.Bearer.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Location.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
+   introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Oma.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Signal.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
+   introspection/org.freedesktop.ModemManager1.Modem.Time.xml
+   introspection/org.freedesktop.ModemManager1.Modem.xml
+   introspection/org.freedesktop.ModemManager1.Sim.xml
+   introspection/org.freedesktop.ModemManager1.Sms.xml
+   introspection/org.freedesktop.ModemManager1.xml
+#    introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml
+   )
+
+set( ADAPTER_INTROSPECTION_XML_FILES
+   )
+
+set_property( SOURCE ${INTERFACE_INTROSPECTION_XML_FILES} PROPERTY INCLUDE generictypes.h)
+set_source_files_properties( ${INTERFACE_INTROSPECTION_XML_FILES} ${ADAPTER_INTROSPECTION_XML_FILES} PROPERTIES NO_NAMESPACE TRUE )
+
+set( UNUSED_XML
+)
+
+
+set( FILES_TO_BUILD
+   )
+set ( UNUSED_FILES
+)
+
+set( UNUSED_GENERATED_FILES
+)
+
+QT4_ADD_DBUS_INTERFACES( FILES_TO_BUILD ${INTERFACE_INTROSPECTION_XML_FILES} )
+
+add_library(modemmanagerdbus ${FILES_TO_BUILD})
+
+TARGET_LINK_LIBRARIES(modemmanagerdbus ${QT_QTCORE_LIBRARY} ${QT_QTDBUS_LIBRARY})
diff -pruN 1.0.1-2/src/dbus/dbus.h 5.2.2-0ubuntu1/src/dbus/dbus.h
--- 1.0.1-2/src/dbus/dbus.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/dbus.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,31 @@
+/*
+Copyright 2008 Will Stephenson <wstephenson@kde.org>
+Copyright 2010 Lamarque Souza <lamarque@kde.org>
+Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+
+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.1 of the License, or (at your option) version 3, or any
+later version accepted by the membership of KDE e.V. (or its
+successor approved by the membership of KDE e.V.), which shall
+act as a proxy defined in Section 6 of version 3 of the license.
+
+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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_DBUS_H
+#define MODEMMANAGER_DBUS_H
+
+#define DBUS_INTERFACE_PROPS             QLatin1String("org.freedesktop.DBus.Properties")
+#define DBUS_INTERFACE_INTROSPECT        QLatin1String("org.freedesktop.DBus.Introspectable")
+#define DBUS_INTERFACE_MANAGER           QLatin1String("org.freedesktop.DBus.ObjectManager")
+
+#endif
diff -pruN 1.0.1-2/src/dbus/dbus_manager.cpp 5.2.2-0ubuntu1/src/dbus/dbus_manager.cpp
--- 1.0.1-2/src/dbus/dbus_manager.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/dbus_manager.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,26 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -p dbus_manager manager.xml -N
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "dbus_manager.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopDBusObjectManagerInterface
+ */
+
+OrgFreedesktopDBusObjectManagerInterface::OrgFreedesktopDBusObjectManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopDBusObjectManagerInterface::~OrgFreedesktopDBusObjectManagerInterface()
+{
+}
+
diff -pruN 1.0.1-2/src/dbus/dbus_manager.h 5.2.2-0ubuntu1/src/dbus/dbus_manager.h
--- 1.0.1-2/src/dbus/dbus_manager.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/dbus_manager.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,53 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -p dbus_manager manager.xml -N
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_DBUS_MANAGER_H
+#define MODEMMANAGERQT_DBUS_MANAGER_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.DBus.ObjectManager
+ */
+class OrgFreedesktopDBusObjectManagerInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.DBus.ObjectManager"; }
+
+public:
+    OrgFreedesktopDBusObjectManagerInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopDBusObjectManagerInterface();
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<DBUSManagerStruct> GetManagedObjects()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("GetManagedObjects"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void InterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
+    void InterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/firmwareinterface.cpp 5.2.2-0ubuntu1/src/dbus/firmwareinterface.cpp
--- 1.0.1-2/src/dbus/firmwareinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/firmwareinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p firmwareinterface introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "firmwareinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemFirmwareInterface
+ */
+
+OrgFreedesktopModemManager1ModemFirmwareInterface::OrgFreedesktopModemManager1ModemFirmwareInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemFirmwareInterface::~OrgFreedesktopModemManager1ModemFirmwareInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/firmwareinterface.h 5.2.2-0ubuntu1/src/dbus/firmwareinterface.h
--- 1.0.1-2/src/dbus/firmwareinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/firmwareinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,57 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p firmwareinterface introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_FIRMWAREINTERFACE_H
+#define MODEMMANAGERQT_FIRMWAREINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Firmware
+ */
+class OrgFreedesktopModemManager1ModemFirmwareInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Firmware"; }
+
+public:
+    OrgFreedesktopModemManager1ModemFirmwareInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemFirmwareInterface();
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<QString, QVariantMapList> List()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("List"), argumentList);
+    }
+    inline QDBusPendingReply<> Select(const QString &uniqueid)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(uniqueid);
+        return asyncCallWithArgumentList(QLatin1String("Select"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/introspection/all.xml 5.2.2-0ubuntu1/src/dbus/introspection/all.xml
--- 1.0.1-2/src/dbus/introspection/all.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/all.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,20 @@
+<tp:spec
+   xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
+   xmlns:xi="http://www.w3.org/2001/XInclude">
+
+  <xi:include href="org.freedesktop.ModemManager1.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Sim.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Bearer.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Sms.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.ModemCdma.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Messaging.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Location.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Time.xml"/>
+  <xi:include href="org.freedesktop.ModemManager1.Modem.Firmware.xml"/>
+
+  <!--xi:include href="wip-org.freedesktop.ModemManager1.Modem.Contacts.xml"/-->
+
+</tp:spec>
diff -pruN 1.0.1-2/src/dbus/introspection/manager.xml 5.2.2-0ubuntu1/src/dbus/introspection/manager.xml
--- 1.0.1-2/src/dbus/introspection/manager.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/manager.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,21 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+                      "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node>
+  <interface name="org.freedesktop.DBus.ObjectManager">
+    <method name="GetManagedObjects">
+      <arg type="a{oa{sa{sv}}}" name="object_paths_interfaces_and_properties" direction="out">
+        <annotation name="com.trolltech.QtDBus.QtTypeName.Out0" value="DBUSManagerStruct"/>
+      </arg>
+    </method>
+    <signal name="InterfacesAdded">
+      <arg type="o" name="object_path"/>
+      <arg type="a{sa{sv}}" name="interfaces_and_properties">
+        <annotation name="com.trolltech.QtDBus.QtTypeName.In1" value="QVariantMapMap"/>
+      </arg>
+    </signal>
+    <signal name="InterfacesRemoved">
+      <arg type="o" name="object_path"/>
+      <arg type="as" name="interfaces"/>
+    </signal>
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Bearer.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2011-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.Bearer:
+      @short_description: The ModemManager Bearer interface.
+
+      This interface provides access to specific actions that may be performed
+      on available bearers.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Bearer">
+
+    <!--
+        Connect:
+
+        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
+        #org.freedesktop.ModemManager1.Bearer:Ip4Config
+        and/or
+        #org.freedesktop.ModemManager1.Bearer:Ip6Config
+        properties become valid and may contain IP configuration information for
+        the data interface associated with this bearer.
+    -->
+    <method name="Connect" />
+
+    <!--
+        Disconnect:
+
+        Disconnect and deactivate this packet data connection.
+
+        Any ongoing data session will be terminated and IP addresses become
+        invalid when this method is called.
+    -->
+    <method name="Disconnect" />
+
+    <!--
+        For 3GPP (GSM/UMTS/LTE) technologies, Bearer objects represent only
+        Primary PDP contexts; Secondary contexts are not exposed as a concept
+        because they share everything with their parent primary PDP context
+        except QoS and traffic flows.  Instead, methods for setting QoS and
+        Traffic Flow Templates (TFTs) should be provided here which could as a
+        result of being called create secondary PDP contexts with those QoS and
+        TFT parameters.
+
+        FIXME: add methods to set QoS/TFT on the Bearer object, which should
+        create Secondary contexts if needed, and figure out some method of
+        disposing of those secondary contexts when no longer required.
+    -->
+
+    <!--
+        Interface:
+
+        The operating system name for the network data interface that provides
+        packet data using this bearer.
+
+        Connection managers must configure this interface depending on the IP
+        <literal>"method"</literal> given by the
+        #org.freedesktop.ModemManager1.Bearer:Ip4Config
+        or
+        #org.freedesktop.ModemManager1.Bearer:Ip6Config
+        properties set by bearer activation.
+
+        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 inteface 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.
+    -->
+    <property name="Interface" type="s" access="read" />
+
+    <!--
+        Connected:
+
+        Indicates whether or not the bearer is connected and thus whether
+        packet data communication using this bearer is possible.
+    -->
+    <property name="Connected" type="b" access="read" />
+
+    <!--
+        Suspended:
+
+        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 %TRUE.
+    -->
+    <property name="Suspended" type="b" access="read" />
+
+    <!--
+        Ip4Config:
+
+        If the bearer was configured for IPv4 addressing, upon activation this
+        property contains the addressing details for assignment to the data
+        interface.
+
+        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>
+
+        If the bearer specifies configuration via PPP or DHCP, only the
+        <literal>"method"</literal> item will be present.
+
+        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), give 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>
+    -->
+    <property name="Ip4Config" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        Ip6Config:
+
+        If the bearer was configured for IPv6 addressing, upon activation this
+        property contains the addressing details for assignment to the data
+        interface.
+
+        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>
+
+        If the bearer specifies configuration via PPP or DHCP, only the
+        <literal>"method"</literal> item will be present.
+
+        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), give 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>
+    -->
+    <property name="Ip6Config" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        IpTimeout:
+
+        Maximum time to wait for a successful IP establishment, when PPP is used.
+    -->
+    <property name="IpTimeout" type="u" access="read" />
+
+    <!--
+        Properties:
+
+        List of properties used when creating the bearer.
+    -->
+    <property name="Properties" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Firmware.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2011-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.Firmware:
+      @short_description: The ModemManager Firmware interface.
+
+      This interface allows clients to select or install firmware images on
+      modems.
+
+      Firmware slots and firmware images are identified by arbitrary opaque
+      strings.
+
+      Firmware images are represented as dictionaries of properties.
+      Certain properties are pre-defined, and some are required:
+
+      <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>
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Firmware">
+
+    <!--
+        List:
+        @selected: The unique name of the selected firmware image, or the empty string if no image is selected.
+        @installed: An array of dictionaries containing the properties of the installed firmware images.
+
+        List installed firmware images.
+
+        Depending on the type of modem, installed images may be stored on the
+        host or the modem.
+
+        Installed images can be selected non-destructively.
+    -->
+    <method name="List">
+      <arg name="selected"  type="s"        direction="out" />
+      <arg name="installed" type="aa{sv}" direction="out" />
+      <annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMapList"/>
+    </method>
+
+    <!--
+        Select:
+        @uniqueid: The unique ID of the firmware image to select.
+
+        Selects a different firmware image to use, and immediately resets the
+        modem so that it begins using the new firmware image.
+
+        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.
+    -->
+    <method name="Select">
+      <arg name="uniqueid" type="s" direction="in" />
+    </method>
+
+    <!--
+        Install:
+        @image: The identifier of the firmware image to install.
+        @slot: The identifier of the slot into which the firmware should be installed.
+
+        Install an available firmware image into a slot.
+
+        It does not guarantee that the image will be installed into the
+        specified slot, but does guarantee that, if the slot is empty, no
+        image will be overwritten, and if the slot is not empty, no image
+        other than the one in that slot will be overwritten.
+
+        The method will fail if either of the identifiers is invalid, or if the
+        image could not be installed into the slot for some reason.
+
+    <method name="Install">
+      <arg name="image" type="s" direction="in" />
+      <arg name="slot"  type="s" direction="in" />
+    </method-->
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,273 @@
+<?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.Location:
+      @short_description: The ModemManager Location interface.
+
+      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.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Location">
+
+    <!--
+        Setup:
+        @sources: 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.
+        @signal_location: Flag to control whether the device emits signals with the new location information. This argument is ignored when disabling location information gathering.
+
+        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.
+
+        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
+        @signal_location argument can be set to %FALSE 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.
+    -->
+    <method name="Setup">
+      <arg name="sources"         type="u" direction="in" />
+      <arg name="signal_location" type="b" direction="in" />
+    </method>
+
+    <!--
+        GetLocation:
+        @location: Dictionary of available location information when location information gathering is enabled.
+
+        Return current location information, if any. If the modem supports
+        multiple location types it may return more than one. See the
+        #org.freedesktop.ModemManager1.Modem.Location:Location property
+        for more information on the dictionary returned at @location.
+
+        This method may require the client to authenticate itself.
+    -->
+    <method name="GetLocation">
+      <arg name="Location" type="a{uv}" direction="out">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="LocationInformationMap"/>
+      </arg>
+    </method>
+
+    <!--
+        Capabilities:
+
+        Bitmask of <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+        values, specifying the supported location sources.
+    -->
+    <property name="Capabilities" type="u" access="read" />
+
+    <!--
+        Enabled:
+
+        Bitmask specifying which of the supported
+        <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+        location sources is currently enabled in the device.
+    -->
+    <property name="Enabled" type="u" access="read" />
+
+    <!--
+        SignalsLocation:
+
+        %TRUE if location updates will be emitted via D-Bus signals, %FALSE if
+        location updates will not be emitted.
+
+        See the
+        <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Location.Setup">Setup()</link>
+        method for more information.
+    -->
+    <property name="SignalsLocation" type="b" access="read" />
+
+    <!--
+        Location:
+
+        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.
+
+        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.
+
+        This dictionary is composed of a
+        <link linkend="MMModemLocationSource">MMModemLocationSource</link>
+        key, with an associated data which contains type-specific location
+        information:
+
+        <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"</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 base station with
+                  which the mobile is registered, in upper-case hexadecimal format
+                  without leading zeros, as specified in 3GPP TS 27.007 section
+                  10.1.19. 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>
+            </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 #org.freedesktop.ModemManager1.Modem.Location:Location 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>
+    -->
+    <property name="Location" type="a{uv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="LocationInformationMap"/>
+    </property>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,127 @@
+<?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.Messaging:
+      @short_description: The ModemManager Messaging interface.
+
+      The Messaging interface handles sending SMS messages and notification of new
+      incoming messages.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Messaging">
+
+    <!--
+        List:
+        @result: The list of SMS object paths.
+
+        Retrieve all SMS messages.
+
+        This method should only be used once and subsequent information
+        retrieved either by listening for the
+        #org.freedesktop.ModemManager1.Modem.Messaging::Added signal,
+        or by querying the specific SMS object of interest.
+    -->
+    <method name="List">
+      <arg name="result" type="ao" direction="out" />
+    </method>
+
+    <!--
+        Delete:
+        @path: The object path of the SMS to delete.
+
+        Delete an SMS message.
+    -->
+    <method name="Delete">
+      <arg name="path" type="o" direction="in" />
+    </method>
+
+    <!--
+        Create:
+        @properties: Message properties from the <link linkend="gdbus-org.freedesktop.ModemManager1.Sms">SMS D-Bus interface</link>.
+        @path: The object path of the new message object.
+
+        Creates a new message object.
+
+        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.
+
+        If the SMSC is not specified and one is required, the default SMSC is
+        used.
+    -->
+    <method name="Create">
+      <arg name="properties" type="a{sv}" direction="in">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
+      </arg>
+      <arg name="path"       type="o"     direction="out" />
+    </method>
+
+    <!--
+        Added:
+        @path: Object path of the new SMS.
+        @received: %TRUE if the message was received from the network, as opposed to being added locally.
+
+        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.
+
+        Check the
+        '<link linkend="gdbus-property-org-freedesktop-ModemManager1-Sms.State">State</link>'
+        property to determine if the message is complete.
+    -->
+    <signal name="Added">
+      <arg name="path" type="o" />
+      <arg name="received" type="b" />
+    </signal>
+
+    <!--
+        Deleted:
+        @path: Object path of the now deleted SMS.
+
+        Emitted when a message has been deleted.
+    -->
+    <signal name="Deleted">
+      <arg name="path" type="o" />
+    </signal>
+
+    <!--
+        Messages:
+
+        The list of SMS object paths.
+    -->
+    <property name="Messages" type="ao" access="read" />
+
+    <!--
+        SupportedStorages:
+
+        A list of <link linkend="MMSmsStorage">MMSmsStorage</link> values,
+        specifying the storages supported by this modem for storing and
+        receiving SMS.
+    -->
+    <property name="SupportedStorages" type="au" access="read">
+    <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
+    </property>
+
+    <!--
+        DefaultStorage:
+
+        A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
+        specifying the storage to be used when receiving or storing SMS.
+    -->
+    <property name="DefaultStorage" type="u" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,94 @@
+<?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.Modem3gpp.Ussd:
+      @short_description: The ModemManager 3GPP USSD interface.
+
+      This interface provides access to actions based on the USSD protocol.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd">
+
+    <!--
+        Initiate:
+        @command: The command to start the USSD session with.
+        @reply: The network response to the command which started the USSD session.
+
+        Sends a USSD command string to the network initiating a USSD session.
+
+        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.
+    -->
+    <method name="Initiate">
+      <arg name="command" type="s" direction="in"  />
+      <arg name="reply"   type="s" direction="out" />
+    </method>
+
+    <!--
+        Respond:
+        @response: The response to network-initiated USSD command, or a response to a request for further input.
+        @reply: The network reply to this response to the network-initiated USSD command. The reply may require further responses.
+
+        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.
+    -->
+    <method name="Respond">
+      <arg name="response" type="s" direction="in"  />
+      <arg name="reply"    type="s" direction="out" />
+    </method>
+
+    <!--
+        Cancel:
+
+        Cancel an ongoing USSD session, either mobile or network initiated.
+    -->
+    <method name="Cancel" />
+
+    <!--
+        State:
+
+        A <link linkend="MMModem3gppUssdSessionState">MMModem3gppUssdSessionState</link> value,
+        indicating the state of any ongoing USSD session.
+    -->
+    <property name="State" type="u" access="read" />
+
+    <!--
+        NetworkNotification:
+
+        Contains any network-initiated request to which no USSD response is
+        required.
+
+        When no USSD session is active, or when there is no network-
+        initiated request, this property will be a zero-length string.
+    -->
+    <property name="NetworkNotification" type="s" access="read" />
+
+    <!--
+        NetworkRequest:
+
+        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.
+
+        When no USSD session is active, or when there is no pending
+        network-initiated request, this property will be a zero-length string.
+    -->
+    <property name="NetworkRequest" type="s" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,151 @@
+<?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.Modem3gpp:
+      @short_description: The ModemManager 3GPP interface.
+
+      This interface provides access to specific actions that may be performed
+      in modems with 3GPP capabilities.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Modem3gpp">
+
+    <!--
+        Register:
+        @operator_id: 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.
+
+        Request registration with a given mobile network.
+    -->
+    <method name="Register">
+      <arg name="operator_id" type="s" direction="in" />
+    </method>
+
+    <!--
+        Scan:
+        @results: Array of dictionaries wih the found networks.
+
+        Scan for available networks.
+
+        @results 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>
+    -->
+    <method name="Scan">
+      <arg name="results" type="aa{sv}" direction="out">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMapList"/>
+      </arg>
+    </method>
+
+    <!--
+        Imei:
+
+        The <ulink url="http://en.wikipedia.org/wiki/Imei">IMEI</ulink> of the device.
+    -->
+    <property name="Imei" type="s" access="read" />
+
+    <!--
+        RegistrationState:
+
+        A <link linkend="MMModem3gppRegistrationState">MMModem3gppRegistrationState</link>
+        value specifying the mobile registration status as defined in 3GPP TS 27.007
+        section 10.1.19.
+    -->
+    <property name="RegistrationState" type="u" access="read" />
+
+    <!--
+        OperatorCode:
+
+        Code of the operator to which the mobile is currently registered.
+
+        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>.
+
+        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.
+    -->
+    <property name="OperatorCode" type="s" access="read" />
+
+    <!--
+        OperatorName:
+
+        Name of the operator to which the mobile is currently registered.
+
+        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.
+    -->
+    <property name="OperatorName" type="s" access="read" />
+
+    <!--
+        EnabledFacilityLocks:
+
+        Bitmask of <link linkend="MMModem3gppFacility">MMModem3gppFacility</link> values
+        for which PIN locking is enabled.
+    -->
+    <property name="EnabledFacilityLocks" type="u" access="read" />
+
+    <!--
+        SubscriptionState:
+
+        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>).
+    -->
+    <property name="SubscriptionState" type="u" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,189 @@
+<?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.ModemCdma:
+      @short_description: The ModemManager CDMA interface.
+
+      This interface provides access to specific actions that may be performed
+      in modems with CDMA capabilities.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.ModemCdma">
+
+    <!--
+        Activate:
+        @carrier_code: Name of carrier, or carrier-specific code.
+
+        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.
+
+        Some modems will reboot after this call is made.
+    -->
+    <method name="Activate">
+      <arg name="carrier_code" type="s" direction="in" />
+    </method>
+
+    <!--
+        ActivateManual:
+        @properties: A dictionary of properties to set on the modem.
+
+        Sets the modem provisioning data directly, without contacting the
+        carrier over the air.
+
+        Some modems will reboot after this call is made.
+
+        This dictionary is composed of a string identifier key
+        with an associated data which contains type-specific location
+        information:
+
+        <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>
+    -->
+    <method name="ActivateManual">
+      <arg name="properties" type="a{sv}" direction="in">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
+      </arg>
+    </method>
+
+    <!--
+        ActivationStateChanged:
+        @activation_state: Current activation state, given as a <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>.
+        @activation_error: Carrier-specific error code, given as a <link linkend="MMCdmaActivationError">MMCdmaActivationError</link>.
+        @status_changes: 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.
+
+        The device activation state changed.
+    -->
+    <signal name="ActivationStateChanged">
+      <arg name="activation_state" type="u"     />
+      <arg name="activation_error" type="u"     />
+      <arg name="status_changes"   type="a{sv}">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In2" value="QVariantMap"/>
+      </arg>
+    </signal>
+
+    <!--
+        ActivationState:
+
+        A <link linkend="MMModemCdmaActivationState">MMModemCdmaActivationState</link>
+        value specifying the state of the activation in the 3GPP2 network.
+    -->
+    <property name="ActivationState" type="u" access="read" />
+
+    <!--
+        Meid:
+
+        The modem's <ulink url="http://en.wikipedia.org/wiki/MEID">Mobile Equipment Identifier</ulink>.
+    -->
+    <property name="Meid" type="s" access="read" />
+
+
+    <!--
+        Esn:
+
+        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).
+    -->
+    <property name="Esn" type="s" access="read" />
+
+    <!--
+        Sid:
+
+        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.
+
+        See <ulink url="http://ifast.org">ifast.org</ulink> or the mobile
+        broadband provider database for mappings of SIDs to network providers.
+    -->
+    <property name="Sid" type="u" access="read" />
+
+    <!--
+        Nid:
+
+        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.
+    -->
+    <property name="Nid" type="u" access="read" />
+
+    <!--
+        Cdma1xRegistrationState:
+
+        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
+        value specifying the CDMA 1x registration state.
+    -->
+    <property name="Cdma1xRegistrationState" type="u" access="read" />
+
+    <!--
+        EvdoRegistrationState:
+
+        A <link linkend="MMModemCdmaRegistrationState">MMModemCdmaRegistrationState</link>
+        value specifying the EVDO registration state.
+    -->
+    <property name="EvdoRegistrationState" type="u" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2013 Google, Inc.
+-->
+
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+  <!--
+      org.freedesktop.ModemManager1.Modem.Oma:
+      @short_description: The ModemManager Open Mobile Alliance interface.
+
+      This interface allows clients to handle device management operations as
+      specified by the Open Mobile Alliance (OMA).
+
+      Device management sessions are either on-demand (client-initiated), or
+      automatically initiated by either the device itself or the network.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Oma">
+
+    <!--
+        Setup:
+        @features: 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.
+
+        Configures which OMA device management features should be enabled.
+    -->
+    <method name="Setup">
+      <arg name="features" type="u" direction="in" />
+    </method>
+
+    <!--
+        StartClientInitiatedSession:
+        @session_type: Type of client-initiated device management session,given as a <link linkend="MMModemOmaSessionType">MMModemOmaSessionType</link>
+
+        Starts a client-initiated device management session.
+    -->
+    <method name="StartClientInitiatedSession">
+      <arg name="session_type" type="u" direction="in" />
+    </method>
+
+    <!--
+        AcceptNetworkInitiatedSession:
+        @session_id: Unique ID of the network-initiated device management session.
+        @accept: Boolean specifying whether the session is accepted or rejected.
+
+        Accepts or rejects a network-initiated device management session.
+    -->
+    <method name="AcceptNetworkInitiatedSession">
+      <arg name="session_id" type="u" direction="in" />
+      <arg name="accept"     type="b" direction="in" />
+    </method>
+
+    <!--
+        CancelSession:
+
+        Cancels the current on-going device management session.
+    -->
+    <method name="CancelSession" />
+
+    <!--
+        Features:
+
+        Bitmask of <link linkend="MMModemOmaFeature">MMModemOmaFeature</link>
+        flags, specifying which device management features are enabled or
+        disabled.
+    -->
+    <property name="Features" type="u" access="read" />
+
+    <!--
+        PendingNetworkInitiatedSessions:
+
+        List of network-initiated sessions which are waiting to be accepted or
+        rejected, given as an array of unsigned integer pairs, where:
+
+        <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>
+    -->
+    <property name="PendingNetworkInitiatedSessions" type="a(uu)" access="read">
+        <annotation name="org.qtproject.QtDBus.QtTypeName" value="OmaSessionTypes"/>
+    </property>
+
+    <!--
+        SessionType:
+
+        Type of the current on-going device management session, given as a
+        <link linkend="MMOmaSessionType">MMOmaSessionType</link>.
+    -->
+    <property name="SessionType" type="u" access="read" />
+
+    <!--
+        SessionState:
+
+        State of the current on-going device management session, given as a
+        <link linkend="MMOmaSessionState">MMOmaSessionState</link>.
+    -->
+    <property name="SessionState" type="i" access="read" />
+
+    <!--
+        SessionStateChanged:
+        @old_session_state: Previous session state, given as a <link linkend="MMOmaSessionState">MMOmaSessionState</link>.
+        @new_session_state: Current session state, given as a <link linkend="MMOmaSessionState">MMOmaSessionState</link>.
+        @session_state_failed_reason: Reason of failure, given as a  <link linkend="MMOmaSessionStateFailedReason">MMOmaSessionStateFailedReason</link>, if @session_state is <link linkend="MM-OMA-SESSION-STATE-FAILED:CAPS">MM_OMA_SESSION_STATE_FAILED</link>.
+
+        The session state changed.
+    -->
+    <signal name="SessionStateChanged">
+      <arg name="old_session_state"           type="i" />
+      <arg name="new_session_state"           type="i" />
+      <arg name="session_state_failed_reason" type="u" />
+    </signal>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 0.8 Interface Specification
+
+   Copyright (C) 2013 Aleksander Morgado <aleksander@gnu.org>
+-->
+
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+  <!--
+      org.freedesktop.ModemManager1.Modem.Signal:
+      @short_description: The ModemManager Signal interface.
+
+      This interface provides access to extended signal quality information.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Signal">
+
+    <!--
+        Setup:
+        @rate: refresh rate to set, in seconds. 0 to disable retrieval.
+
+        Setup extended signal quality information retrieval.
+    -->
+    <method name="Setup">
+      <arg name="rate" type="u" direction="in" />
+    </method>
+
+    <!--
+        Rate:
+
+        Refresh rate for the extended signal quality information updates,
+        in seconds. A value of 0 disables the retrieval of the values.
+    -->
+    <property name="Rate" type="u" access="read" />
+
+    <!--
+        Cdma:
+
+        Dictionary of available signal information for the CDMA1x access
+        technology.
+
+        This dictionary is composed of a string key, with an associated data
+        which contains type-specific information.
+
+        <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>
+    -->
+    <property name="Cdma" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+  </property>
+    <!--
+        Evdo:
+
+        Dictionary of available signal information for the CDMA EV-DO access
+        technology.
+
+        This dictionary is composed of a string key, with an associated data
+        which contains type-specific information.
+
+        <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>
+    -->
+    <property name="Evdo" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        Gsm:
+
+        Dictionary of available signal information for the GSM/GPRS access
+        technology.
+
+        This dictionary is composed of a string key, with an associated data
+        which contains type-specific information.
+
+        <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>
+    -->
+    <property name="Gsm" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        Umts:
+
+        Dictionary of available signal information for the UMTS (WCDMA) access
+        technology.
+
+        This dictionary is composed of a string key, with an associated data
+        which contains type-specific information.
+
+        <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>"ecio"</literal></term>
+          <listitem>
+            <para>
+              The UMTS Ec/Io, in dBm, given as a floating point value
+              (signature <literal>"d"</literal>).
+            </para>
+          </listitem>
+        </varlistentry>
+        </variablelist>
+    -->
+    <property name="Umts" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        Lte:
+
+        Dictionary of available signal information for the UMTS (WCDMA) access
+        technology.
+
+        This dictionary is composed of a string key, with an associated data
+        which contains type-specific information.
+
+        <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>
+    -->
+    <property name="Lte" type="a{sv}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,216 @@
+<?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.Simple:
+      @short_description: The ModemManager Simple interface.
+
+      The Simple interface allows controlling and querying the status of Modems.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Simple">
+
+    <!--
+        Connect:
+        @properties: Dictionary of properties needed to get the modem connected.
+        @bearer: On successful connect, returns the object path of the connected packet data bearer used for the connection attempt.
+
+        Do everything needed to connect the modem using the given properties.
+
+        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).
+
+        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.
+
+        Allowed key/value pairs in @properties 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>
+              %FALSE 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>
+    -->
+    <method name="Connect">
+      <arg name="properties" type="a{sv}" direction="in"  />
+      <arg name="bearer"     type="o"     direction="out" />
+    </method>
+
+    <!--
+        Disconnect:
+        @bearer: If given this method will disconnect the referenced packet
+        data bearer, while if "/" (ie, no object given) this method will
+        disconnect all active packet data bearers.
+
+        Disconnect an active packet data connection.
+    -->
+    <method name="Disconnect">
+      <arg name="bearer" type="o" direction="in" />
+    </method>
+
+    <!--
+        GetStatus:
+        @properties: Dictionary of properties.
+
+        Get the general modem status.
+
+        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>
+    -->
+    <method name="GetStatus">
+      <arg name="properties" type="a{sv}" direction="out" />
+    </method>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2011-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.Time:
+      @short_description: The ModemManager Time interface.
+
+      This interface allows clients to receive network time and timezone
+      updates broadcast by mobile networks.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem.Time">
+
+    <!--
+        GetNetworkTime:
+        @time: If the network time is known, a string containing local date,
+        time, and (if available) UTC offset in ISO 8601 format. If the network
+        time is unknown, the empty string.
+
+        Gets the current network time in local time.
+
+        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.
+    -->
+    <method name="GetNetworkTime">
+      <arg name="time" type="s" direction="out" />
+    </method>
+
+    <!--
+        NetworkTimezone:
+
+        The timezone data provided by the network. It may include one or more
+        of the following fields:
+
+        <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>
+    -->
+    <property name="NetworkTimezone" type="a{sv}" access="read">
+    <annotation name="org.qtproject.QtDBus.QtTypeName" value="QVariantMap"/>
+    </property>
+
+    <!--
+        NetworkTimeChanged:
+        @time: A string containing date and time in ISO 8601 format.
+
+        Sent when the network time is updated.
+    -->
+    <signal name="NetworkTimeChanged">
+      <arg name="time" type="s" />
+    </signal>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,530 @@
+<?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:
+      @short_description: The ModemManager Modem interface.
+
+      The Modem interface controls the status and actions in a given modem
+      object.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Modem">
+
+    <!--
+        Enable:
+        @enable: %TRUE to enable the modem and %FALSE to disable it.
+
+        Enable or disable the modem.
+
+        When enabled, the modem's radio is powered on and data sessions, voice
+        calls, location services, and Short Message Service may be available.
+
+        When disabled, the modem enters low-power state and no network-related
+        operations are available.
+    -->
+    <method name="Enable">
+      <arg name="enable" type="b" direction="in" />
+    </method>
+
+    <!--
+        ListBearers:
+        @bearers: The list of bearer object paths.
+
+        List configured packet data bearers (EPS Bearers, PDP Contexts, or
+        CDMA2000 Packet Data Sessions).
+    -->
+    <method name="ListBearers">
+      <arg name="bearers" type="ao" direction="out" />
+    </method>
+
+    <!--
+        CreateBearer:
+        @properties: List of properties to assign to the bearer after creating it.
+        @path: On success, the object path of the newly created bearer.
+
+        Create a new packet data bearer using the given characteristics.
+
+        This request may fail if the modem does not support additional bearers,
+        if too many bearers are already defined, or if properties are invalid.
+
+        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>
+
+        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.
+    -->
+    <method name="CreateBearer">
+      <arg name="properties" type="a{sv}" direction="in">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap" />
+      </arg>
+      <arg name="path"       type="o"     direction="out" />
+    </method>
+
+    <!--
+        DeleteBearer:
+        @bearer: Object path of the bearer to delete.
+
+        Delete an existing packet data bearer.
+
+        If the bearer is currently active and providing packet data server, it
+        will be disconnected and that packet data service will terminate.
+    -->
+    <method name="DeleteBearer">
+      <arg name="bearer" type="o" direction="in" />
+    </method>
+
+    <!--
+        Reset:
+
+        Clear non-persistent configuration and state, and return the device to
+        a newly-powered-on state.
+
+        This command may power-cycle the device.
+    -->
+    <method name="Reset" />
+
+    <!--
+        FactoryReset:
+        @code: Carrier-supplied code required to reset the modem.
+
+        Clear the modem's configuration (including persistent configuration and
+        state), and return the device to a factory-default state.
+
+        If not required by the modem, @code may be ignored.
+
+        This command may or may not power-cycle the device.
+    -->
+    <method name="FactoryReset">
+      <arg name="code" type="s" direction="in" />
+    </method>
+
+    <!--
+        SetPowerState:
+	@state: A <link linkend="MMModemPowerState">MMModemPowerState</link> value, to specify the desired power state.
+
+        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.
+    -->
+    <method name="SetPowerState">
+      <arg name="state" type="u" direction="in" />
+    </method>
+
+    <!--
+        SetCurrentCapabilities:
+        @capabilities: Bitmask of <link linkend="MMModemCapability">MMModemCapability</link> values, to specify the capabilities to use.
+
+        Set the capabilities of the device. A restart of the modem may be required.
+    -->
+    <method name="SetCurrentCapabilities">
+      <arg name="capabilities" type="u" direction="in" />
+    </method>
+
+    <!--
+        SetCurrentModes:
+        @modes: 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.
+
+        Set the access technologies (e.g. 2G/3G/4G preference) the device is
+        currently allowed to use when connecting to a network.
+
+        The given combination should be supported by the modem, as specified in the
+        #org.freedesktop.ModemManager1.Modem:SupportedModes property.
+    -->
+    <method name="SetCurrentModes">
+      <arg name="modes" type="(uu)" direction="in">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="CurrentModesType"/>
+      </arg>
+    </method>
+
+    <!--
+        SetCurrentBands:
+        @bands: List of <link linkend="MMModemBand">MMModemBand</link> values, to specify the bands to be used.
+
+        Set the radio frequency and technology bands the device is currently
+        allowed to use when connecting to a network.
+    -->
+    <method name="SetCurrentBands">
+      <arg name="bands" type="au" direction="in">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QList&lt;uint&gt;" />
+      </arg>
+    </method>
+
+    <!--
+       Command
+       @cmd The command string, e.g. "AT+GCAP" or "+GCAP" (leading AT is inserted if necessary).
+       @timeout The number of seconds to wait for a response.
+       @response The modem's response.
+
+       Send an arbitrary AT command to a modem and get the response.
+
+       Note that using this interface call is only allowed when running
+       ModemManager in debug mode.
+      -->
+    <method name="Command">
+      <arg name="cmd"      type="s" direction="in"  />
+      <arg name="timeout"  type="u" direction="in"  />
+      <arg name="response" type="s" direction="out" />
+    </method>
+
+    <!--
+        StateChanged:
+        @old: A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.
+        @new: A <link linkend="MMModemState">MMModemState</link> value, specifying the new state.
+        @reason: A <link linkend="MMModemStateChangeReason">MMModemStateChangeReason</link> value, specifying the reason for this state change.
+
+        The modem's state (see #org.freedesktop.ModemManager1.Modem:State) changed.
+    -->
+    <signal name="StateChanged">
+      <arg name="old"    type="i" />
+      <arg name="new"    type="i" />
+      <arg name="reason" type="u" />
+    </signal>
+
+    <!--
+        Sim:
+
+        The path of the SIM object available in this device, if any.
+    -->
+    <property name="Sim" type="o" access="read" />
+
+    <!--
+        Bearers:
+
+        The list of bearer object paths (EPS Bearers, PDP Contexts, or
+        CDMA2000 Packet Data Sessions).
+    -->
+    <property name="Bearers" type="ao" access="read" />
+
+    <!--
+        SupportedCapabilities:
+
+        List of <link linkend="MMModemCapability">MMModemCapability</link>
+        values, specifying the combinations of generic family of access
+        technologies the modem supports.
+
+        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.
+    -->
+    <property name="SupportedCapabilities" type="au" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
+    </property>
+
+    <!--
+        CurrentCapabilities:
+
+        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.
+    -->
+    <property name="CurrentCapabilities" type="u" access="read" />
+
+    <!--
+        MaxBearers:
+
+        The maximum number of defined packet data bearers the modem supports.
+
+        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.
+    -->
+    <property name="MaxBearers" type="u" access="read" />
+
+    <!--
+        MaxActiveBearers:
+
+        The maximum number of active packet data bearers the modem supports.
+
+        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.
+    -->
+    <property name="MaxActiveBearers" type="u" access="read" />
+
+    <!--
+        Manufacturer:
+
+        The equipment manufacturer, as reported by the modem.
+    -->
+    <property name="Manufacturer" type="s" access="read" />
+
+    <!--
+        Model:
+
+        The equipment model, as reported by the modem.
+    -->
+    <property name="Model" type="s" access="read" />
+
+    <!--
+        Revision:
+
+        The revision identification of the software, as reported by the modem.
+    -->
+    <property name="Revision" type="s" access="read" />
+
+    <!--
+        DeviceIdentifier:
+
+        A best-effort device identifier based on various device information like
+        model name, firmware revision, USB/PCI/PCMCIA IDs, and other properties.
+
+        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.
+
+        This is not the device's IMEI or ESN since those may not be available
+        before unlocking the device via a PIN.
+    -->
+    <property name="DeviceIdentifier" type="s" access="read" />
+
+    <!--
+        Device:
+
+        The physical modem device reference (ie, USB, PCI, PCMCIA device), which
+        may be dependent upon the operating system.
+
+        In Linux for example, this points to a sysfs path of the usb_device
+        object.
+    -->
+    <property name="Device" type="s" access="read" />
+
+    <!--
+        Drivers:
+
+        The Operating System device drivers handling communication with the modem
+        hardware.
+    -->
+    <property name="Drivers" type="as" access="read" />
+
+    <!--
+        Plugin:
+
+        The name of the plugin handling this modem.
+    -->
+    <property name="Plugin" type="s" access="read" />
+
+    <!--
+        PrimaryPort:
+
+        The name of the primary port using to control the modem.
+    -->
+    <property name="PrimaryPort" type="s" access="read" />
+
+    <!--
+        Ports:
+
+        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.
+    -->
+    <property name="Ports" type="a(su)" access="read">
+        <annotation name="org.qtproject.QtDBus.QtTypeName" value="PortList"/>
+    </property>
+
+    <!--
+        EquipmentIdentifier:
+
+        The identity of the device.
+
+        This will be the IMEI number for GSM devices and the hex-format ESN/MEID
+        for CDMA devices.
+    -->
+    <property name="EquipmentIdentifier" type="s" access="read" />
+
+    <!--
+        UnlockRequired:
+
+        Current lock state of the device, given as a
+        <link linkend="MMModemLock">MMModemLock</link> value.
+    -->
+    <property name="UnlockRequired" type="u" access="read" />
+
+    <!--
+        UnlockRetries:
+
+        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.
+     -->
+    <property name="UnlockRetries" type="a{uu}" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UnlockRetriesMap"/>
+    </property>
+
+    <!--
+        State:
+
+        Overall state of the modem, given as a
+        <link linkend="MMModemState">MMModemState</link> value.
+
+        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.
+    -->
+    <property name="State" type="i" access="read" />
+
+    <!--
+        StateFailedReason:
+
+        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.
+    -->
+    <property name="StateFailedReason" type="u" access="read" />
+
+    <!--
+        AccessTechnologies:
+
+        Bitmask of <link linkend="MMModemAccessTechnology">MMModemAccessTechnology</link> values,
+        specifying the current network access technologies used by the device to communicate
+        with the network.
+
+        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.
+    -->
+    <property name="AccessTechnologies" type="u" access="read" />
+
+    <!--
+        SignalQuality:
+
+        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.
+
+        The additional boolean value indicates if the quality value given was
+        recently taken.
+    -->
+    <property name="SignalQuality" type="(ub)" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="SignalQualityPair"/>
+    </property>
+
+    <!--
+        OwnNumbers:
+
+        List of numbers (e.g. MSISDN in 3GPP) being currently handled by this
+        modem.
+    -->
+    <property name="OwnNumbers" type="as" access="read" />
+
+    <!--
+        PowerState:
+
+	A <link linkend="MMModemPowerState">MMModemPowerState</link> value
+	specifying the current power state of the modem.
+    -->
+    <property name="PowerState" type="u" access="read" />
+
+    <!--
+        SupportedModes:
+
+        This property exposes the supported mode combinations, given as an array of unsigned
+        integer pairs, where:
+
+        <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>
+    -->
+    <property name="SupportedModes" type="a(uu)" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="SupportedModesType"/>
+    </property>
+
+    <!--
+        CurrentModes:
+
+        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.
+
+        The pair must be one of those specified in
+        #org.freedesktop.ModemManager1.Modem:SupportedModes.
+    -->
+    <property name="CurrentModes" type="(uu)" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="CurrentModesType"/>
+    </property>
+
+    <!--
+        SupportedBands:
+
+        List of <link linkend="MMModemBand">MMModemBand</link> values,
+        specifying the radio frequency and technology bands supported by the
+        device.
+
+        For POTS devices, only the
+        <link linkend="MM-MODEM-BAND-ANY:CAPS"><constant>MM_MODEM_BAND_ANY</constant></link>
+        mode will be returned.
+    -->
+    <property name="SupportedBands" type="au" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
+    </property>
+
+    <!--
+        CurrentBands:
+
+        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.
+
+        It must be a subset of #org.freedesktop.ModemManager1.Modem:SupportedBands.
+    -->
+    <property name="CurrentBands" type="au" access="read">
+      <annotation name="org.qtproject.QtDBus.QtTypeName" value="UIntList"/>
+    </property>
+
+    <!--
+        SupportedIpFamilies:
+
+        Bitmask of <link linkend="MMBearerIpFamily">MMBearerIpFamily</link> values,
+        specifying the IP families supported by the device.
+    -->
+    <property name="SupportedIpFamilies" type="u" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2011-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.Sim:
+      @short_description: The ModemManager SIM interface.
+
+      The SIM interface handles communication with SIM, USIM, and RUIM (CDMA
+      SIM) cards.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Sim">
+
+    <!--
+        SendPin:
+        @pin: A string containing the PIN code.
+
+        Send the PIN to unlock the SIM card.
+    -->
+    <method name="SendPin">
+      <arg name="pin" type="s" direction="in" />
+    </method>
+
+    <!--
+        SendPuk:
+        @puk: A string containing the PUK code.
+        @pin: A string containing the PIN code.
+
+        Send the PUK and a new PIN to unlock the SIM card.
+    -->
+    <method name="SendPuk">
+      <arg name="puk" type="s" direction="in" />
+      <arg name="pin" type="s" direction="in" />
+    </method>
+
+    <!--
+        EnablePin:
+        @pin: A string containing the PIN code.
+        @enabled: %TRUE to enable PIN checking, %FALSE otherwise.
+
+        Enable or disable the PIN checking.
+    -->
+    <method name="EnablePin">
+      <arg name="pin"     type="s" direction="in" />
+      <arg name="enabled" type="b" direction="in" />
+    </method>
+
+    <!--
+        ChangePin:
+        @old_pin: A string containing the current PIN code.
+        @new_pin: A string containing the new PIN code.
+
+        Change the PIN code.
+    -->
+    <method name="ChangePin">
+      <arg name="old_pin" type="s" direction="in" />
+      <arg name="new_pin" type="s" direction="in" />
+    </method>
+
+    <!--
+        SimIdentifier:
+
+        An obfuscated SIM identifier based on the IMSI or the
+        ICCID.
+
+        This may be available before the PIN has been entered depending
+        on the device itself.
+    -->
+    <property name="SimIdentifier" type="s" access="read" />
+
+    <!--
+        Imsi:
+
+        The IMSI of the SIM card, if any.
+    -->
+    <property name="Imsi" type="s" access="read" />
+
+    <!--
+        OperatorId:
+
+        The ID of the network operator that issued the SIM card,
+        formatted as a 5 or 6-digit MCC/MNC code (e.g. <literal>"310410"</literal>).
+    -->
+    <property name="OperatorIdentifier" type="s" access="read" />
+
+    <!--
+        OperatorName:
+
+        The name of the network operator, as given by the SIM card, if known.
+    -->
+    <property name="OperatorName" type="s" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ ModemManager 1.0 Interface Specification
+
+   Copyright (C) 2011-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.Sms:
+      @short_description: The ModemManager SMS interface.
+
+      The SMS interface Defines operations and properties of a single SMS message.
+  -->
+  <interface name="org.freedesktop.ModemManager1.Sms">
+
+    <!--
+        Send:
+
+        If the message has not yet been sent, queue it for delivery.
+    -->
+    <method name="Send" />
+
+    <!--
+        Store:
+
+        Store the message in the device if not already done.
+
+        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.
+    -->
+    <method name="Store">
+      <arg name="storage" type="u" direction="in" />
+    </method>
+
+    <!--
+        State:
+
+        A <link linkend="MMSmsState">MMSmsState</link> value,
+        describing the state of the message.
+    -->
+    <property name="State" type="u" access="read" />
+
+    <!--
+        PduType:
+
+        A <link linkend="MMSmsPduType">MMSmsPduType</link> value,
+        describing the type of PDUs used in the SMS message.
+    -->
+    <property name="PduType" type="u" access="read" />
+
+    <!--
+        Number:
+
+        Number to which the message is addressed.
+    -->
+    <property name="Number" type="s" access="read" />
+
+    <!--
+        Text:
+
+        Message text, in UTF-8.
+
+        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.
+
+        Note that Text and Data are never given at the same time.
+    -->
+    <property name="Text" type="s" access="read" />
+
+    <!--
+        Data:
+
+        Message data.
+
+        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.
+
+        Note that Text and Data are never given at the same time.
+    -->
+    <property name="Data" type="ay" access="read" />
+
+    <!--
+        SMSC:
+
+        Indicates the SMS service center number.
+
+        Always empty for 3GPP2/CDMA.
+    -->
+    <property name="SMSC" type="s" access="read" />
+
+    <!--
+        Validity:
+
+        Indicates when the SMS expires in the SMSC.
+
+        This value is composed of a
+        <link linkend="MMSmsValidityType">MMSmsValidityType</link>
+        key, with an associated data which contains type-specific validity
+        information:
+
+	    <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>
+    -->
+    <property name="Validity" type="(uv)" access="read">
+    <annotation name="org.qtproject.QtDBus.QtTypeName" value="ValidityPair"/>
+    </property>
+
+    <!--
+        Class:
+
+        3GPP message class (-1..3).  -1 means class is not available or
+        is not used for this message, otherwise the 3GPP SMS message class.
+
+        Always -1 for 3GPP2/CDMA.
+    -->
+    <property name="Class" type="i" access="read" />
+
+    <!--
+        TeleserviceId:
+
+        A <link linkend="MMSmsCdmaTeleserviceId">MMSmsCdmaTeleserviceId</link> value.
+
+        Always <link linkend="MM-SMS-CDMA-TELESERVICE-ID-UNKNOWN:CAPS">MM_SMS_CDMA_TELESERVICE_ID_UNKNOWN</link> for 3GPP.
+    -->
+    <property name="TeleserviceId" type="u" access="read" />
+
+    <!--
+        ServiceCategory:
+
+        A <link linkend="MMSmsCdmaServiceCategory">MMSmsCdmaServiceCategory</link> value.
+
+        Always <link linkend="MM-SMS-CDMA-SERVICE-CATEGORY-UNKNOWN:CAPS">MM_SMS_CDMA_SERVICE_CATEGORY_UNKNOWN</link> for 3GPP.
+    -->
+    <property name="ServiceCategory" type="u" access="read" />
+
+    <!--
+        DeliveryReportRequest:
+
+        #TRUE if delivery report request is required, #FALSE otherwise.
+    -->
+    <property name="DeliveryReportRequest" type="b" access="read" />
+
+    <!--
+        MessageReference:
+
+        Message Reference of the last PDU sent/received within this SMS.
+
+        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.
+    -->
+    <property name="MessageReference" type="u" access="read" />
+
+    <!--
+        Timestamp:
+
+        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>.
+    -->
+    <property name="Timestamp" type="s" access="read" />
+
+    <!--
+        DischargeTimestamp:
+
+        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.
+
+        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>.
+    -->
+    <property name="DischargeTimestamp" type="s" access="read" />
+
+    <!--
+        DeliveryState:
+
+        A <link linkend="MMSmsDeliveryState">MMSmsDeliveryState</link> value,
+        describing the state of the delivery reported in the Status Report message.
+
+        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>.
+    -->
+    <property name="DeliveryState" type="u" access="read" />
+
+    <!--
+        Storage:
+
+        A <link linkend="MMSmsStorage">MMSmsStorage</link> value,
+        describing the storage where this message is kept.
+    -->
+    <property name="Storage" type="u" access="read" />
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.xml 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.xml
--- 1.0.1-2/src/dbus/introspection/org.freedesktop.ModemManager1.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/org.freedesktop.ModemManager1.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,41 @@
+<?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:
+      @short_description: The ModemManager Manager interface.
+
+      The Manager interface allows controlling and querying the status of the
+      ModemManager daemon.
+  -->
+  <interface name="org.freedesktop.ModemManager1">
+
+    <!--
+        ScanDevices:
+
+        Start a new scan for connected modem devices.
+    -->
+    <method name="ScanDevices" />
+
+    <!--
+        SetLogging:
+        @level: One of <literal>"ERR"</literal>, <literal>"WARN"</literal>, <literal>"INFO"</literal>, <literal>"DEBUG"</literal>.
+
+        Set logging verbosity.
+    -->
+    <method name="SetLogging">
+      <arg name="level" type="s" direction="in" />
+    </method>
+
+  </interface>
+</node>
diff -pruN 1.0.1-2/src/dbus/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml 5.2.2-0ubuntu1/src/dbus/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml
--- 1.0.1-2/src/dbus/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/introspection/wip-org.freedesktop.ModemManager1.Modem.Contacts.xml	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,187 @@
+<?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">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.In0" value="QVariantMap"/>
+      </arg>
+      <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">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap"/>
+      </arg>
+    </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">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMapList"/>
+      </arg>
+    </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">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMapList"/>
+      </arg>
+    </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}">
+        <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QVariantMap"/>
+      </arg>
+    </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 -pruN 1.0.1-2/src/dbus/locationinterface.cpp 5.2.2-0ubuntu1/src/dbus/locationinterface.cpp
--- 1.0.1-2/src/dbus/locationinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/locationinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p locationinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "locationinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemLocationInterface
+ */
+
+OrgFreedesktopModemManager1ModemLocationInterface::OrgFreedesktopModemManager1ModemLocationInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemLocationInterface::~OrgFreedesktopModemManager1ModemLocationInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/locationinterface.h 5.2.2-0ubuntu1/src/dbus/locationinterface.h
--- 1.0.1-2/src/dbus/locationinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/locationinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,73 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p locationinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Location.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_LOCATIONINTERFACE_H
+#define MODEMMANAGERQT_LOCATIONINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Location
+ */
+class OrgFreedesktopModemManager1ModemLocationInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Location"; }
+
+public:
+    OrgFreedesktopModemManager1ModemLocationInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemLocationInterface();
+
+    Q_PROPERTY(uint Capabilities READ capabilities)
+    inline uint capabilities() const
+    { return qvariant_cast< uint >(property("Capabilities")); }
+
+    Q_PROPERTY(uint Enabled READ enabled)
+    inline uint enabled() const
+    { return qvariant_cast< uint >(property("Enabled")); }
+
+    Q_PROPERTY(LocationInformationMap Location READ location)
+    inline LocationInformationMap location() const
+    { return qvariant_cast< LocationInformationMap >(property("Location")); }
+
+    Q_PROPERTY(bool SignalsLocation READ signalsLocation)
+    inline bool signalsLocation() const
+    { return qvariant_cast< bool >(property("SignalsLocation")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<LocationInformationMap> GetLocation()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("GetLocation"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Setup(uint sources, bool signal_location)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(sources) << QVariant::fromValue(signal_location);
+        return asyncCallWithArgumentList(QLatin1String("Setup"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/messaginginterface.cpp 5.2.2-0ubuntu1/src/dbus/messaginginterface.cpp
--- 1.0.1-2/src/dbus/messaginginterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/messaginginterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p messaginginterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "messaginginterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemMessagingInterface
+ */
+
+OrgFreedesktopModemManager1ModemMessagingInterface::OrgFreedesktopModemManager1ModemMessagingInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemMessagingInterface::~OrgFreedesktopModemManager1ModemMessagingInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/messaginginterface.h 5.2.2-0ubuntu1/src/dbus/messaginginterface.h
--- 1.0.1-2/src/dbus/messaginginterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/messaginginterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,78 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p messaginginterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Messaging.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_MESSAGINGINTERFACE_H
+#define MODEMMANAGERQT_MESSAGINGINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Messaging
+ */
+class OrgFreedesktopModemManager1ModemMessagingInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Messaging"; }
+
+public:
+    OrgFreedesktopModemManager1ModemMessagingInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemMessagingInterface();
+
+    Q_PROPERTY(uint DefaultStorage READ defaultStorage)
+    inline uint defaultStorage() const
+    { return qvariant_cast< uint >(property("DefaultStorage")); }
+
+    Q_PROPERTY(QList<QDBusObjectPath> Messages READ messages)
+    inline QList<QDBusObjectPath> messages() const
+    { return qvariant_cast< QList<QDBusObjectPath> >(property("Messages")); }
+
+    Q_PROPERTY(UIntList SupportedStorages READ supportedStorages)
+    inline UIntList supportedStorages() const
+    { return qvariant_cast< UIntList >(property("SupportedStorages")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<QDBusObjectPath> Create(const QVariantMap &properties)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(properties);
+        return asyncCallWithArgumentList(QLatin1String("Create"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Delete(const QDBusObjectPath &path)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(path);
+        return asyncCallWithArgumentList(QLatin1String("Delete"), argumentList);
+    }
+
+    inline QDBusPendingReply<QList<QDBusObjectPath> > List()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("List"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void Added(const QDBusObjectPath &path, bool received);
+    void Deleted(const QDBusObjectPath &path);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/modem3gppinterface.cpp 5.2.2-0ubuntu1/src/dbus/modem3gppinterface.cpp
--- 1.0.1-2/src/dbus/modem3gppinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modem3gppinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modem3gppinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "modem3gppinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemModem3gppInterface
+ */
+
+OrgFreedesktopModemManager1ModemModem3gppInterface::OrgFreedesktopModemManager1ModemModem3gppInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemModem3gppInterface::~OrgFreedesktopModemManager1ModemModem3gppInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/modem3gppinterface.h 5.2.2-0ubuntu1/src/dbus/modem3gppinterface.h
--- 1.0.1-2/src/dbus/modem3gppinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modem3gppinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,81 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modem3gppinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_MODEM3GPPINTERFACE_H
+#define MODEMMANAGERQT_MODEM3GPPINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Modem3gpp
+ */
+class OrgFreedesktopModemManager1ModemModem3gppInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Modem3gpp"; }
+
+public:
+    OrgFreedesktopModemManager1ModemModem3gppInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemModem3gppInterface();
+
+    Q_PROPERTY(uint EnabledFacilityLocks READ enabledFacilityLocks)
+    inline uint enabledFacilityLocks() const
+    { return qvariant_cast< uint >(property("EnabledFacilityLocks")); }
+
+    Q_PROPERTY(QString Imei READ imei)
+    inline QString imei() const
+    { return qvariant_cast< QString >(property("Imei")); }
+
+    Q_PROPERTY(QString OperatorCode READ operatorCode)
+    inline QString operatorCode() const
+    { return qvariant_cast< QString >(property("OperatorCode")); }
+
+    Q_PROPERTY(QString OperatorName READ operatorName)
+    inline QString operatorName() const
+    { return qvariant_cast< QString >(property("OperatorName")); }
+
+    Q_PROPERTY(uint RegistrationState READ registrationState)
+    inline uint registrationState() const
+    { return qvariant_cast< uint >(property("RegistrationState")); }
+
+    Q_PROPERTY(uint SubscriptionState READ subscriptionState)
+    inline uint subscriptionState() const
+    { return qvariant_cast< uint >(property("SubscriptionState")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Register(const QString &operator_id)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(operator_id);
+        return asyncCallWithArgumentList(QLatin1String("Register"), argumentList);
+    }
+
+    inline QDBusPendingReply<QVariantMapList> Scan()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Scan"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/modemcdmainterface.cpp 5.2.2-0ubuntu1/src/dbus/modemcdmainterface.cpp
--- 1.0.1-2/src/dbus/modemcdmainterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modemcdmainterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modemcdmainterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "modemcdmainterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemModemCdmaInterface
+ */
+
+OrgFreedesktopModemManager1ModemModemCdmaInterface::OrgFreedesktopModemManager1ModemModemCdmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemModemCdmaInterface::~OrgFreedesktopModemManager1ModemModemCdmaInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/modemcdmainterface.h 5.2.2-0ubuntu1/src/dbus/modemcdmainterface.h
--- 1.0.1-2/src/dbus/modemcdmainterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modemcdmainterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,87 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modemcdmainterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.ModemCdma.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_MODEMCDMAINTERFACE_H
+#define MODEMMANAGERQT_MODEMCDMAINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.ModemCdma
+ */
+class OrgFreedesktopModemManager1ModemModemCdmaInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.ModemCdma"; }
+
+public:
+    OrgFreedesktopModemManager1ModemModemCdmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemModemCdmaInterface();
+
+    Q_PROPERTY(uint ActivationState READ activationState)
+    inline uint activationState() const
+    { return qvariant_cast< uint >(property("ActivationState")); }
+
+    Q_PROPERTY(uint Cdma1xRegistrationState READ cdma1xRegistrationState)
+    inline uint cdma1xRegistrationState() const
+    { return qvariant_cast< uint >(property("Cdma1xRegistrationState")); }
+
+    Q_PROPERTY(QString Esn READ esn)
+    inline QString esn() const
+    { return qvariant_cast< QString >(property("Esn")); }
+
+    Q_PROPERTY(uint EvdoRegistrationState READ evdoRegistrationState)
+    inline uint evdoRegistrationState() const
+    { return qvariant_cast< uint >(property("EvdoRegistrationState")); }
+
+    Q_PROPERTY(QString Meid READ meid)
+    inline QString meid() const
+    { return qvariant_cast< QString >(property("Meid")); }
+
+    Q_PROPERTY(uint Nid READ nid)
+    inline uint nid() const
+    { return qvariant_cast< uint >(property("Nid")); }
+
+    Q_PROPERTY(uint Sid READ sid)
+    inline uint sid() const
+    { return qvariant_cast< uint >(property("Sid")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Activate(const QString &carrier_code)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(carrier_code);
+        return asyncCallWithArgumentList(QLatin1String("Activate"), argumentList);
+    }
+
+    inline QDBusPendingReply<> ActivateManual(const QVariantMap &properties)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(properties);
+        return asyncCallWithArgumentList(QLatin1String("ActivateManual"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void ActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/modeminterface.cpp 5.2.2-0ubuntu1/src/dbus/modeminterface.cpp
--- 1.0.1-2/src/dbus/modeminterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modeminterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modeminterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "modeminterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemInterface
+ */
+
+OrgFreedesktopModemManager1ModemInterface::OrgFreedesktopModemManager1ModemInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemInterface::~OrgFreedesktopModemManager1ModemInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/modeminterface.h 5.2.2-0ubuntu1/src/dbus/modeminterface.h
--- 1.0.1-2/src/dbus/modeminterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modeminterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,236 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modeminterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_MODEMINTERFACE_H
+#define MODEMMANAGERQT_MODEMINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem
+ */
+class OrgFreedesktopModemManager1ModemInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem"; }
+
+public:
+    OrgFreedesktopModemManager1ModemInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemInterface();
+
+    Q_PROPERTY(uint AccessTechnologies READ accessTechnologies)
+    inline uint accessTechnologies() const
+    { return qvariant_cast< uint >(property("AccessTechnologies")); }
+
+    Q_PROPERTY(QList<QDBusObjectPath> Bearers READ bearers)
+    inline QList<QDBusObjectPath> bearers() const
+    { return qvariant_cast< QList<QDBusObjectPath> >(property("Bearers")); }
+
+    Q_PROPERTY(UIntList CurrentBands READ currentBands)
+    inline UIntList currentBands() const
+    { return qvariant_cast< UIntList >(property("CurrentBands")); }
+
+    Q_PROPERTY(uint CurrentCapabilities READ currentCapabilities)
+    inline uint currentCapabilities() const
+    { return qvariant_cast< uint >(property("CurrentCapabilities")); }
+
+    Q_PROPERTY(CurrentModesType CurrentModes READ currentModes)
+    inline CurrentModesType currentModes() const
+    { return qvariant_cast< CurrentModesType >(property("CurrentModes")); }
+
+    Q_PROPERTY(QString Device READ device)
+    inline QString device() const
+    { return qvariant_cast< QString >(property("Device")); }
+
+    Q_PROPERTY(QString DeviceIdentifier READ deviceIdentifier)
+    inline QString deviceIdentifier() const
+    { return qvariant_cast< QString >(property("DeviceIdentifier")); }
+
+    Q_PROPERTY(QStringList Drivers READ drivers)
+    inline QStringList drivers() const
+    { return qvariant_cast< QStringList >(property("Drivers")); }
+
+    Q_PROPERTY(QString EquipmentIdentifier READ equipmentIdentifier)
+    inline QString equipmentIdentifier() const
+    { return qvariant_cast< QString >(property("EquipmentIdentifier")); }
+
+    Q_PROPERTY(QString Manufacturer READ manufacturer)
+    inline QString manufacturer() const
+    { return qvariant_cast< QString >(property("Manufacturer")); }
+
+    Q_PROPERTY(uint MaxActiveBearers READ maxActiveBearers)
+    inline uint maxActiveBearers() const
+    { return qvariant_cast< uint >(property("MaxActiveBearers")); }
+
+    Q_PROPERTY(uint MaxBearers READ maxBearers)
+    inline uint maxBearers() const
+    { return qvariant_cast< uint >(property("MaxBearers")); }
+
+    Q_PROPERTY(QString Model READ model)
+    inline QString model() const
+    { return qvariant_cast< QString >(property("Model")); }
+
+    Q_PROPERTY(QStringList OwnNumbers READ ownNumbers)
+    inline QStringList ownNumbers() const
+    { return qvariant_cast< QStringList >(property("OwnNumbers")); }
+
+    Q_PROPERTY(QString Plugin READ plugin)
+    inline QString plugin() const
+    { return qvariant_cast< QString >(property("Plugin")); }
+
+    Q_PROPERTY(PortList Ports READ ports)
+    inline PortList ports() const
+    { return qvariant_cast< PortList >(property("Ports")); }
+
+    Q_PROPERTY(uint PowerState READ powerState)
+    inline uint powerState() const
+    { return qvariant_cast< uint >(property("PowerState")); }
+
+    Q_PROPERTY(QString PrimaryPort READ primaryPort)
+    inline QString primaryPort() const
+    { return qvariant_cast< QString >(property("PrimaryPort")); }
+
+    Q_PROPERTY(QString Revision READ revision)
+    inline QString revision() const
+    { return qvariant_cast< QString >(property("Revision")); }
+
+    Q_PROPERTY(SignalQualityPair SignalQuality READ signalQuality)
+    inline SignalQualityPair signalQuality() const
+    { return qvariant_cast< SignalQualityPair >(property("SignalQuality")); }
+
+    Q_PROPERTY(QDBusObjectPath Sim READ sim)
+    inline QDBusObjectPath sim() const
+    { return qvariant_cast< QDBusObjectPath >(property("Sim")); }
+
+    Q_PROPERTY(int State READ state)
+    inline int state() const
+    { return qvariant_cast< int >(property("State")); }
+
+    Q_PROPERTY(uint StateFailedReason READ stateFailedReason)
+    inline uint stateFailedReason() const
+    { return qvariant_cast< uint >(property("StateFailedReason")); }
+
+    Q_PROPERTY(UIntList SupportedBands READ supportedBands)
+    inline UIntList supportedBands() const
+    { return qvariant_cast< UIntList >(property("SupportedBands")); }
+
+    Q_PROPERTY(UIntList SupportedCapabilities READ supportedCapabilities)
+    inline UIntList supportedCapabilities() const
+    { return qvariant_cast< UIntList >(property("SupportedCapabilities")); }
+
+    Q_PROPERTY(uint SupportedIpFamilies READ supportedIpFamilies)
+    inline uint supportedIpFamilies() const
+    { return qvariant_cast< uint >(property("SupportedIpFamilies")); }
+
+    Q_PROPERTY(SupportedModesType SupportedModes READ supportedModes)
+    inline SupportedModesType supportedModes() const
+    { return qvariant_cast< SupportedModesType >(property("SupportedModes")); }
+
+    Q_PROPERTY(uint UnlockRequired READ unlockRequired)
+    inline uint unlockRequired() const
+    { return qvariant_cast< uint >(property("UnlockRequired")); }
+
+    Q_PROPERTY(UnlockRetriesMap UnlockRetries READ unlockRetries)
+    inline UnlockRetriesMap unlockRetries() const
+    { return qvariant_cast< UnlockRetriesMap >(property("UnlockRetries")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<QString> Command(const QString &cmd, uint timeout)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(cmd) << QVariant::fromValue(timeout);
+        return asyncCallWithArgumentList(QLatin1String("Command"), argumentList);
+    }
+
+    inline QDBusPendingReply<QDBusObjectPath> CreateBearer(const QVariantMap &properties)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(properties);
+        return asyncCallWithArgumentList(QLatin1String("CreateBearer"), argumentList);
+    }
+
+    inline QDBusPendingReply<> DeleteBearer(const QDBusObjectPath &bearer)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(bearer);
+        return asyncCallWithArgumentList(QLatin1String("DeleteBearer"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Enable(bool enable)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(enable);
+        return asyncCallWithArgumentList(QLatin1String("Enable"), argumentList);
+    }
+
+    inline QDBusPendingReply<> FactoryReset(const QString &code)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(code);
+        return asyncCallWithArgumentList(QLatin1String("FactoryReset"), argumentList);
+    }
+
+    inline QDBusPendingReply<QList<QDBusObjectPath> > ListBearers()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("ListBearers"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Reset()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Reset"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SetCurrentBands(const QList<uint> &bands)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(bands);
+        return asyncCallWithArgumentList(QLatin1String("SetCurrentBands"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SetCurrentCapabilities(uint capabilities)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(capabilities);
+        return asyncCallWithArgumentList(QLatin1String("SetCurrentCapabilities"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SetCurrentModes(CurrentModesType modes)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(modes);
+        return asyncCallWithArgumentList(QLatin1String("SetCurrentModes"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SetPowerState(uint state)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(state);
+        return asyncCallWithArgumentList(QLatin1String("SetPowerState"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void StateChanged(int oldState, int newState, uint reason);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/modemmanager1interface.cpp 5.2.2-0ubuntu1/src/dbus/modemmanager1interface.cpp
--- 1.0.1-2/src/dbus/modemmanager1interface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modemmanager1interface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modemmanager1interface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "modemmanager1interface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1Interface
+ */
+
+OrgFreedesktopModemManager1Interface::OrgFreedesktopModemManager1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1Interface::~OrgFreedesktopModemManager1Interface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/modemmanager1interface.h 5.2.2-0ubuntu1/src/dbus/modemmanager1interface.h
--- 1.0.1-2/src/dbus/modemmanager1interface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/modemmanager1interface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,57 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p modemmanager1interface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_MODEMMANAGER1INTERFACE_H
+#define MODEMMANAGERQT_MODEMMANAGER1INTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1
+ */
+class OrgFreedesktopModemManager1Interface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1"; }
+
+public:
+    OrgFreedesktopModemManager1Interface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1Interface();
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> ScanDevices()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("ScanDevices"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SetLogging(const QString &level)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(level);
+        return asyncCallWithArgumentList(QLatin1String("SetLogging"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/omainterface.cpp 5.2.2-0ubuntu1/src/dbus/omainterface.cpp
--- 1.0.1-2/src/dbus/omainterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/omainterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p omainterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "omainterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemOmaInterface
+ */
+
+OrgFreedesktopModemManager1ModemOmaInterface::OrgFreedesktopModemManager1ModemOmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemOmaInterface::~OrgFreedesktopModemManager1ModemOmaInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/omainterface.h 5.2.2-0ubuntu1/src/dbus/omainterface.h
--- 1.0.1-2/src/dbus/omainterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/omainterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,88 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p omainterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Oma.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_OMAINTERFACE_H
+#define MODEMMANAGERQT_OMAINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Oma
+ */
+class OrgFreedesktopModemManager1ModemOmaInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Oma"; }
+
+public:
+    OrgFreedesktopModemManager1ModemOmaInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemOmaInterface();
+
+    Q_PROPERTY(uint Features READ features)
+    inline uint features() const
+    { return qvariant_cast< uint >(property("Features")); }
+
+    Q_PROPERTY(OmaSessionTypes PendingNetworkInitiatedSessions READ pendingNetworkInitiatedSessions)
+    inline OmaSessionTypes pendingNetworkInitiatedSessions() const
+    { return qvariant_cast< OmaSessionTypes >(property("PendingNetworkInitiatedSessions")); }
+
+    Q_PROPERTY(int SessionState READ sessionState)
+    inline int sessionState() const
+    { return qvariant_cast< int >(property("SessionState")); }
+
+    Q_PROPERTY(uint SessionType READ sessionType)
+    inline uint sessionType() const
+    { return qvariant_cast< uint >(property("SessionType")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> AcceptNetworkInitiatedSession(uint session_id, bool accept)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(session_id) << QVariant::fromValue(accept);
+        return asyncCallWithArgumentList(QLatin1String("AcceptNetworkInitiatedSession"), argumentList);
+    }
+
+    inline QDBusPendingReply<> CancelSession()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("CancelSession"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Setup(uint features)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(features);
+        return asyncCallWithArgumentList(QLatin1String("Setup"), argumentList);
+    }
+
+    inline QDBusPendingReply<> StartClientInitiatedSession(uint session_type)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(session_type);
+        return asyncCallWithArgumentList(QLatin1String("StartClientInitiatedSession"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void SessionStateChanged(int old_session_state, int new_session_state, uint session_state_failed_reason);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/signalinterface.cpp 5.2.2-0ubuntu1/src/dbus/signalinterface.cpp
--- 1.0.1-2/src/dbus/signalinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/signalinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p signalinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "signalinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemSignalInterface
+ */
+
+OrgFreedesktopModemManager1ModemSignalInterface::OrgFreedesktopModemManager1ModemSignalInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemSignalInterface::~OrgFreedesktopModemManager1ModemSignalInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/signalinterface.h 5.2.2-0ubuntu1/src/dbus/signalinterface.h
--- 1.0.1-2/src/dbus/signalinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/signalinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,75 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p signalinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Signal.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_SIGNALINTERFACE_H
+#define MODEMMANAGERQT_SIGNALINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Signal
+ */
+class OrgFreedesktopModemManager1ModemSignalInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Signal"; }
+
+public:
+    OrgFreedesktopModemManager1ModemSignalInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemSignalInterface();
+
+    Q_PROPERTY(QVariantMap Cdma READ cdma)
+    inline QVariantMap cdma() const
+    { return qvariant_cast< QVariantMap >(property("Cdma")); }
+
+    Q_PROPERTY(QVariantMap Evdo READ evdo)
+    inline QVariantMap evdo() const
+    { return qvariant_cast< QVariantMap >(property("Evdo")); }
+
+    Q_PROPERTY(QVariantMap Gsm READ gsm)
+    inline QVariantMap gsm() const
+    { return qvariant_cast< QVariantMap >(property("Gsm")); }
+
+    Q_PROPERTY(QVariantMap Lte READ lte)
+    inline QVariantMap lte() const
+    { return qvariant_cast< QVariantMap >(property("Lte")); }
+
+    Q_PROPERTY(uint Rate READ rate)
+    inline uint rate() const
+    { return qvariant_cast< uint >(property("Rate")); }
+
+    Q_PROPERTY(QVariantMap Umts READ umts)
+    inline QVariantMap umts() const
+    { return qvariant_cast< QVariantMap >(property("Umts")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Setup(uint rate)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(rate);
+        return asyncCallWithArgumentList(QLatin1String("Setup"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/siminterface.cpp 5.2.2-0ubuntu1/src/dbus/siminterface.cpp
--- 1.0.1-2/src/dbus/siminterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/siminterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p siminterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "siminterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1SimInterface
+ */
+
+OrgFreedesktopModemManager1SimInterface::OrgFreedesktopModemManager1SimInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1SimInterface::~OrgFreedesktopModemManager1SimInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/siminterface.h 5.2.2-0ubuntu1/src/dbus/siminterface.h
--- 1.0.1-2/src/dbus/siminterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/siminterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,88 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p siminterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Sim.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_SIMINTERFACE_H
+#define MODEMMANAGERQT_SIMINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Sim
+ */
+class OrgFreedesktopModemManager1SimInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Sim"; }
+
+public:
+    OrgFreedesktopModemManager1SimInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1SimInterface();
+
+    Q_PROPERTY(QString Imsi READ imsi)
+    inline QString imsi() const
+    { return qvariant_cast< QString >(property("Imsi")); }
+
+    Q_PROPERTY(QString OperatorIdentifier READ operatorIdentifier)
+    inline QString operatorIdentifier() const
+    { return qvariant_cast< QString >(property("OperatorIdentifier")); }
+
+    Q_PROPERTY(QString OperatorName READ operatorName)
+    inline QString operatorName() const
+    { return qvariant_cast< QString >(property("OperatorName")); }
+
+    Q_PROPERTY(QString SimIdentifier READ simIdentifier)
+    inline QString simIdentifier() const
+    { return qvariant_cast< QString >(property("SimIdentifier")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> ChangePin(const QString &old_pin, const QString &new_pin)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(old_pin) << QVariant::fromValue(new_pin);
+        return asyncCallWithArgumentList(QLatin1String("ChangePin"), argumentList);
+    }
+
+    inline QDBusPendingReply<> EnablePin(const QString &pin, bool enabled)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(pin) << QVariant::fromValue(enabled);
+        return asyncCallWithArgumentList(QLatin1String("EnablePin"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SendPin(const QString &pin)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(pin);
+        return asyncCallWithArgumentList(QLatin1String("SendPin"), argumentList);
+    }
+
+    inline QDBusPendingReply<> SendPuk(const QString &puk, const QString &pin)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(puk) << QVariant::fromValue(pin);
+        return asyncCallWithArgumentList(QLatin1String("SendPuk"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/simpleinterface.cpp 5.2.2-0ubuntu1/src/dbus/simpleinterface.cpp
--- 1.0.1-2/src/dbus/simpleinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/simpleinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p simpleinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "simpleinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemSimpleInterface
+ */
+
+OrgFreedesktopModemManager1ModemSimpleInterface::OrgFreedesktopModemManager1ModemSimpleInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemSimpleInterface::~OrgFreedesktopModemManager1ModemSimpleInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/simpleinterface.h 5.2.2-0ubuntu1/src/dbus/simpleinterface.h
--- 1.0.1-2/src/dbus/simpleinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/simpleinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,64 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p simpleinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Simple.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_SIMPLEINTERFACE_H
+#define MODEMMANAGERQT_SIMPLEINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Simple
+ */
+class OrgFreedesktopModemManager1ModemSimpleInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Simple"; }
+
+public:
+    OrgFreedesktopModemManager1ModemSimpleInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemSimpleInterface();
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<QDBusObjectPath> Connect(const QVariantMap &properties)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(properties);
+        return asyncCallWithArgumentList(QLatin1String("Connect"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Disconnect(const QDBusObjectPath &bearer)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(bearer);
+        return asyncCallWithArgumentList(QLatin1String("Disconnect"), argumentList);
+    }
+
+    inline QDBusPendingReply<QVariantMap> GetStatus()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("GetStatus"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/smsinterface.cpp 5.2.2-0ubuntu1/src/dbus/smsinterface.cpp
--- 1.0.1-2/src/dbus/smsinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/smsinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p smsinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "smsinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1SmsInterface
+ */
+
+OrgFreedesktopModemManager1SmsInterface::OrgFreedesktopModemManager1SmsInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1SmsInterface::~OrgFreedesktopModemManager1SmsInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/smsinterface.h 5.2.2-0ubuntu1/src/dbus/smsinterface.h
--- 1.0.1-2/src/dbus/smsinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/smsinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,121 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p smsinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Sms.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_SMSINTERFACE_H
+#define MODEMMANAGERQT_SMSINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Sms
+ */
+class OrgFreedesktopModemManager1SmsInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Sms"; }
+
+public:
+    OrgFreedesktopModemManager1SmsInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1SmsInterface();
+
+    Q_PROPERTY(int SmsClass READ smsClass)
+    inline int smsClass() const
+    { return qvariant_cast< int >(property("Class")); }
+
+    Q_PROPERTY(QByteArray Data READ data)
+    inline QByteArray data() const
+    { return qvariant_cast< QByteArray >(property("Data")); }
+
+    Q_PROPERTY(bool DeliveryReportRequest READ deliveryReportRequest)
+    inline bool deliveryReportRequest() const
+    { return qvariant_cast< bool >(property("DeliveryReportRequest")); }
+
+    Q_PROPERTY(uint DeliveryState READ deliveryState)
+    inline uint deliveryState() const
+    { return qvariant_cast< uint >(property("DeliveryState")); }
+
+    Q_PROPERTY(QString DischargeTimestamp READ dischargeTimestamp)
+    inline QString dischargeTimestamp() const
+    { return qvariant_cast< QString >(property("DischargeTimestamp")); }
+
+    Q_PROPERTY(uint MessageReference READ messageReference)
+    inline uint messageReference() const
+    { return qvariant_cast< uint >(property("MessageReference")); }
+
+    Q_PROPERTY(QString Number READ number)
+    inline QString number() const
+    { return qvariant_cast< QString >(property("Number")); }
+
+    Q_PROPERTY(uint PduType READ pduType)
+    inline uint pduType() const
+    { return qvariant_cast< uint >(property("PduType")); }
+
+    Q_PROPERTY(QString SMSC READ sMSC)
+    inline QString sMSC() const
+    { return qvariant_cast< QString >(property("SMSC")); }
+
+    Q_PROPERTY(uint ServiceCategory READ serviceCategory)
+    inline uint serviceCategory() const
+    { return qvariant_cast< uint >(property("ServiceCategory")); }
+
+    Q_PROPERTY(uint State READ state)
+    inline uint state() const
+    { return qvariant_cast< uint >(property("State")); }
+
+    Q_PROPERTY(uint Storage READ storage)
+    inline uint storage() const
+    { return qvariant_cast< uint >(property("Storage")); }
+
+    Q_PROPERTY(uint TeleserviceId READ teleserviceId)
+    inline uint teleserviceId() const
+    { return qvariant_cast< uint >(property("TeleserviceId")); }
+
+    Q_PROPERTY(QString Text READ text)
+    inline QString text() const
+    { return qvariant_cast< QString >(property("Text")); }
+
+    Q_PROPERTY(QString Timestamp READ timestamp)
+    inline QString timestamp() const
+    { return qvariant_cast< QString >(property("Timestamp")); }
+
+    Q_PROPERTY(ValidityPair Validity READ validity)
+    inline ValidityPair validity() const
+    { return qvariant_cast< ValidityPair >(property("Validity")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Send()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Send"), argumentList);
+    }
+
+    inline QDBusPendingReply<> Store(uint storage)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(storage);
+        return asyncCallWithArgumentList(QLatin1String("Store"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/timeinterface.cpp 5.2.2-0ubuntu1/src/dbus/timeinterface.cpp
--- 1.0.1-2/src/dbus/timeinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/timeinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p timeinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "timeinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemTimeInterface
+ */
+
+OrgFreedesktopModemManager1ModemTimeInterface::OrgFreedesktopModemManager1ModemTimeInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemTimeInterface::~OrgFreedesktopModemManager1ModemTimeInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/timeinterface.h 5.2.2-0ubuntu1/src/dbus/timeinterface.h
--- 1.0.1-2/src/dbus/timeinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/timeinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,55 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p timeinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Time.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_TIMEINTERFACE_H
+#define MODEMMANAGERQT_TIMEINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Time
+ */
+class OrgFreedesktopModemManager1ModemTimeInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Time"; }
+
+public:
+    OrgFreedesktopModemManager1ModemTimeInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemTimeInterface();
+
+    Q_PROPERTY(QVariantMap NetworkTimezone READ networkTimezone)
+    inline QVariantMap networkTimezone() const
+    { return qvariant_cast< QVariantMap >(property("NetworkTimezone")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<QString> GetNetworkTime()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("GetNetworkTime"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+    void NetworkTimeChanged(const QString &time);
+};
+
+#endif
diff -pruN 1.0.1-2/src/dbus/ussdinterface.cpp 5.2.2-0ubuntu1/src/dbus/ussdinterface.cpp
--- 1.0.1-2/src/dbus/ussdinterface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/ussdinterface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,25 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p ussdinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * This file may have been hand-edited. Look for HAND-EDIT comments
+ * before re-generating it.
+ */
+
+#include "ussdinterface.h"
+
+/*
+ * Implementation of interface class OrgFreedesktopModemManager1ModemModem3gppUssdInterface
+ */
+
+OrgFreedesktopModemManager1ModemModem3gppUssdInterface::OrgFreedesktopModemManager1ModemModem3gppUssdInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
+    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
+{
+}
+
+OrgFreedesktopModemManager1ModemModem3gppUssdInterface::~OrgFreedesktopModemManager1ModemModem3gppUssdInterface()
+{
+}
diff -pruN 1.0.1-2/src/dbus/ussdinterface.h 5.2.2-0ubuntu1/src/dbus/ussdinterface.h
--- 1.0.1-2/src/dbus/ussdinterface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/dbus/ussdinterface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,76 @@
+/*
+ * This file was generated by qdbusxml2cpp version 0.7
+ * Command line was: qdbusxml2cpp -N -m -i generictypes.h -p ussdinterface /home/jgrulich/development/projects/libmm-qt/dbus/introspection/org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd.xml
+ *
+ * qdbusxml2cpp is Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+ *
+ * This is an auto-generated file.
+ * Do not edit! All changes made to it will be lost.
+ */
+
+#ifndef MODEMMANAGERQT_USSDINTERFACE_H
+#define MODEMMANAGERQT_USSDINTERFACE_H
+
+#include <QtCore/QObject>
+#include <QtCore/QByteArray>
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QString>
+#include <QtCore/QStringList>
+#include <QtCore/QVariant>
+#include <QtDBus/QtDBus>
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+/*
+ * Proxy class for interface org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd
+ */
+class OrgFreedesktopModemManager1ModemModem3gppUssdInterface: public QDBusAbstractInterface
+{
+    Q_OBJECT
+public:
+    static inline const char *staticInterfaceName()
+    { return "org.freedesktop.ModemManager1.Modem.Modem3gpp.Ussd"; }
+
+public:
+    OrgFreedesktopModemManager1ModemModem3gppUssdInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = 0);
+
+    ~OrgFreedesktopModemManager1ModemModem3gppUssdInterface();
+
+    Q_PROPERTY(QString NetworkNotification READ networkNotification)
+    inline QString networkNotification() const
+    { return qvariant_cast< QString >(property("NetworkNotification")); }
+
+    Q_PROPERTY(QString NetworkRequest READ networkRequest)
+    inline QString networkRequest() const
+    { return qvariant_cast< QString >(property("NetworkRequest")); }
+
+    Q_PROPERTY(uint State READ state)
+    inline uint state() const
+    { return qvariant_cast< uint >(property("State")); }
+
+public Q_SLOTS: // METHODS
+    inline QDBusPendingReply<> Cancel()
+    {
+        QList<QVariant> argumentList;
+        return asyncCallWithArgumentList(QLatin1String("Cancel"), argumentList);
+    }
+
+    inline QDBusPendingReply<QString> Initiate(const QString &command)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(command);
+        return asyncCallWithArgumentList(QLatin1String("Initiate"), argumentList);
+    }
+
+    inline QDBusPendingReply<QString> Respond(const QString &response)
+    {
+        QList<QVariant> argumentList;
+        argumentList << QVariant::fromValue(response);
+        return asyncCallWithArgumentList(QLatin1String("Respond"), argumentList);
+    }
+
+Q_SIGNALS: // SIGNALS
+};
+
+#endif
diff -pruN 1.0.1-2/src/generictypes.cpp 5.2.2-0ubuntu1/src/generictypes.cpp
--- 1.0.1-2/src/generictypes.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/generictypes.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,175 @@
+/* This file is part of the KDE project
+   Copyright 2010 Lamarque Souza <lamarque@kde.org>
+   Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+
+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.1 of the License, or (at your option) version 3, or any
+later version accepted by the membership of KDE e.V. (or its
+successor approved by the membership of KDE e.V.), which shall
+act as a proxy defined in Section 6 of version 3 of the license.
+
+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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "generictypes.h"
+#include "generictypes_p.h"
+
+QDBusArgument &operator << (QDBusArgument &arg, const Port &port)
+{
+    arg.beginStructure();
+    arg << port.name << port.type;
+    arg.endStructure();
+    return arg;
+}
+
+const QDBusArgument &operator >> (const QDBusArgument &arg, Port &port)
+{
+    QString temp1;
+    uint temp2;
+    arg.beginStructure();
+    arg >> temp1 >> temp2;
+    port.name = temp1;
+    port.type = (MMModemPortType)temp2;
+    arg.endStructure();
+
+    return arg;
+}
+
+// Marshall the CurrentModesType data into a D-BUS argument
+QDBusArgument &operator << (QDBusArgument &arg, const CurrentModesType &mode)
+{
+    arg.beginStructure();
+    arg << mode.allowed << mode.preferred;
+    arg.endStructure();
+    return arg;
+}
+
+// Retrieve the CurrentModesType data from the D-BUS argument
+const QDBusArgument &operator >> (const QDBusArgument &arg, CurrentModesType &mode)
+{
+    uint temp1, temp2;
+    arg.beginStructure();
+    arg >> temp1 >> temp2;
+    mode.allowed = (MMModemMode)temp1;
+    mode.preferred = (MMModemMode)temp2;
+    arg.endStructure();
+
+    return arg;
+}
+
+#if MM_CHECK_VERSION(1, 2, 0)
+// Marshall the OmaSessionType data into a D-BUS argument
+QDBusArgument &operator << (QDBusArgument &arg, const OmaSessionType &sessionType)
+{
+    arg.beginStructure();
+    arg << sessionType.type << sessionType.id;
+    arg.endStructure();
+    return arg;
+}
+
+// Retrieve the OmaSessionType data from the D-BUS argument
+const QDBusArgument &operator >> (const QDBusArgument &arg, OmaSessionType &sessionType)
+{
+    uint type, id;
+    arg.beginStructure();
+    arg >> type >> id;
+    sessionType.type = (MMOmaSessionType)type;
+    sessionType.id = id;
+    arg.endStructure();
+
+    return arg;
+}
+#endif
+
+// Marshall the SignalQualityPair data into a D-BUS argument
+QDBusArgument &operator << (QDBusArgument &arg, const SignalQualityPair &sqp)
+{
+    arg.beginStructure();
+    arg << sqp.signal << sqp.recent;
+    arg.endStructure();
+    return arg;
+}
+
+// Retrieve the SignalQualityPair data from the D-BUS argument
+const QDBusArgument &operator >> (const QDBusArgument &arg, SignalQualityPair &sqp)
+{
+    arg.beginStructure();
+    arg >> sqp.signal >> sqp.recent;
+    arg.endStructure();
+    return arg;
+}
+
+// Marshall the ValidityPair data into a D-BUS argument
+QDBusArgument &operator <<(QDBusArgument &arg, const ValidityPair &vp)
+{
+    arg.beginStructure();
+    arg << vp.validity << vp.value;
+    arg.endStructure();
+    return arg;
+}
+
+// Retrieve the ValidityPair data from the D-BUS argument
+const QDBusArgument &operator >>(const QDBusArgument &arg, ValidityPair &vp)
+{
+    uint temp1, temp2;
+    arg.beginStructure();
+    arg >> temp1 >> temp2;
+    vp.validity = (MMSmsValidityType)temp1;
+    vp.value = temp2;
+    arg.endStructure();
+
+    return arg;
+}
+
+// Marshal QList<QVariantMap> into a D-BUS argument
+QDBusArgument &operator<<(QDBusArgument &argument, const QVariantMapList &variantMapList)
+{
+    argument.beginArray(qMetaTypeId<QVariantMap>());
+    for (int i = 0; i < variantMapList.length(); ++i)
+        argument << variantMapList[i];
+    argument.endArray();
+    return argument;
+}
+
+// Retrieve QList<QVariantMap> from a D-BUS argument
+const QDBusArgument &operator>>(const QDBusArgument &argument, QVariantMapList &variantMapList)
+{
+    argument.beginArray();
+    variantMapList.clear();
+
+    while (!argument.atEnd()) {
+        QList<QVariantMap> element;
+        argument >> element;
+        variantMapList.append( element );
+    }
+
+    argument.endArray();
+    return argument;
+}
+
+void registerModemManagerTypes()
+{
+    qDBusRegisterMetaType<CurrentModesType>();
+    qDBusRegisterMetaType<SignalQualityPair>();
+    qDBusRegisterMetaType<SupportedModesType>();
+    qDBusRegisterMetaType<UnlockRetriesMap>();
+    qDBusRegisterMetaType<QVariantMapList>();
+#if MM_CHECK_VERSION(1, 2, 0)
+    qDBusRegisterMetaType<OmaSessionType>();
+    qDBusRegisterMetaType<OmaSessionTypes>();
+#endif
+    //qDBusRegisterMetaType<LocationInformationMap>();
+    qDBusRegisterMetaType<ValidityPair>();
+    qDBusRegisterMetaType<PortList>();
+    qRegisterMetaType<MMModemMode>("MMModemMode");
+    qRegisterMetaType<MMModemLock>("MMModemLock");
+    qRegisterMetaType<MMModem3gppUssdSessionState>("MMModem3gppUssdSessionState");
+}
diff -pruN 1.0.1-2/src/generictypes.h 5.2.2-0ubuntu1/src/generictypes.h
--- 1.0.1-2/src/generictypes.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/generictypes.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,97 @@
+/* This file is part of the KDE project
+   Copyright 2010 Lamarque Souza <lamarque@kde.org>
+   Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+
+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.1 of the License, or (at your option) version 3, or any
+later version accepted by the membership of KDE e.V. (or its
+successor approved by the membership of KDE e.V.), which shall
+act as a proxy defined in Section 6 of version 3 of the license.
+
+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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_GENERIC_TYPES_H
+#define MODEMMANAGERQT_GENERIC_TYPES_H
+
+#include <modemmanagerqt_export.h>
+#include <ModemManager/ModemManager.h>
+
+#include <QMetaType>
+#include <QtDBus/QtDBus>
+
+typedef QMap<QString, QVariantMap> NMVariantMapMap;
+typedef QMap<QDBusObjectPath, NMVariantMapMap> DBUSManagerStruct;
+typedef QList<uint> UIntList;
+typedef QList<QList<uint> > UIntListList;
+typedef QMap<QString, QString> NMStringMap;
+typedef struct {
+    QString name;
+    MMModemPortType type;
+} Port;
+
+typedef QList<Port> PortList;
+typedef struct {
+    uint signal;
+    bool recent;
+} SignalQualityPair;
+typedef struct {
+public:
+    MMModemMode allowed; // bitfield
+    MMModemMode preferred;
+} CurrentModesType;
+
+typedef QList<CurrentModesType> SupportedModesType;
+#if MM_CHECK_VERSION(1, 2, 0)
+typedef struct {
+public:
+    MMOmaSessionType type;
+    uint id;
+} OmaSessionType;
+typedef QList<OmaSessionType> OmaSessionTypes;
+#endif
+typedef QMap</*MMModemLock*/uint, uint> UnlockRetriesMap;
+typedef QList<QVariantMap> QVariantMapList;
+typedef QMap<MMModemLocationSource, QVariant> LocationInformationMap;
+typedef struct {
+    MMSmsValidityType validity;
+    uint value;
+} ValidityPair;
+
+// Port
+MODEMMANAGERQT_EXPORT QDBusArgument &operator << (QDBusArgument &arg, const Port &port);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator >> (const QDBusArgument &arg, Port &port);
+
+// CurrentModesType
+MODEMMANAGERQT_EXPORT QDBusArgument &operator << (QDBusArgument &arg, const CurrentModesType &mode);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator >> (const QDBusArgument &arg, CurrentModesType &mode);
+
+// SignalQualityPair
+MODEMMANAGERQT_EXPORT QDBusArgument &operator << (QDBusArgument &arg, const SignalQualityPair &sqp);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator >> (const QDBusArgument &arg, SignalQualityPair &sqp);
+
+// ValidityPair
+MODEMMANAGERQT_EXPORT QDBusArgument &operator << (QDBusArgument &arg, const ValidityPair &vp);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator >> (const QDBusArgument &arg, ValidityPair &vp);
+
+#if MM_CHECK_VERSION(1, 2, 0)
+// OmaSessionType
+MODEMMANAGERQT_EXPORT QDBusArgument &operator << (QDBusArgument &arg, const OmaSessionType &sessionType);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator >> (const QDBusArgument &arg, OmaSessionType &sessionType);
+#endif
+
+// QVariantMapList
+MODEMMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const QVariantMapList &variantMapList);
+MODEMMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, QVariantMapList &variantMapList);
+
+MODEMMANAGERQT_EXPORT void registerModemManagerTypes();
+
+#endif // MODEMMANAGERQT_GENERIC_TYPES_P_H
diff -pruN 1.0.1-2/src/generictypes_p.h 5.2.2-0ubuntu1/src/generictypes_p.h
--- 1.0.1-2/src/generictypes_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/generictypes_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,49 @@
+/* This file is part of the KDE project
+   Copyright 2010 Lamarque Souza <lamarque@kde.org>
+   Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+   Copyright 2014 Lukas Tinkl <jgrulich@redhat.com>
+
+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.1 of the License, or (at your option) version 3, or any
+later version accepted by the membership of KDE e.V. (or its
+successor approved by the membership of KDE e.V.), which shall
+act as a proxy defined in Section 6 of version 3 of the license.
+
+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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_GENERIC_TYPES_P_H
+#define MODEMMANAGERQT_GENERIC_TYPES_P_H
+
+#include <QMetaType>
+
+Q_DECLARE_METATYPE(MMModemLock)
+Q_DECLARE_METATYPE(NMVariantMapMap)
+Q_DECLARE_METATYPE(DBUSManagerStruct)
+Q_DECLARE_METATYPE(UIntList)
+Q_DECLARE_METATYPE(UIntListList)
+Q_DECLARE_METATYPE(NMStringMap)
+Q_DECLARE_METATYPE(Port)
+Q_DECLARE_METATYPE(PortList)
+Q_DECLARE_METATYPE(SignalQualityPair)
+Q_DECLARE_METATYPE(MMModemMode)
+Q_DECLARE_METATYPE(CurrentModesType)
+Q_DECLARE_METATYPE(SupportedModesType)
+#if MM_CHECK_VERSION(1, 2, 0)
+Q_DECLARE_METATYPE(OmaSessionType)
+Q_DECLARE_METATYPE(OmaSessionTypes)
+#endif
+Q_DECLARE_METATYPE(UnlockRetriesMap)
+Q_DECLARE_METATYPE(QVariantMapList)
+Q_DECLARE_METATYPE(LocationInformationMap)
+Q_DECLARE_METATYPE(ValidityPair)
+
+#endif // MODEMMANAGERQT_GENERIC_TYPES_P_H
diff -pruN 1.0.1-2/src/interface.cpp 5.2.2-0ubuntu1/src/interface.cpp
--- 1.0.1-2/src/interface.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/interface.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,54 @@
+/*
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "interface.h"
+#include "interface_p.h"
+
+InterfacePrivate::InterfacePrivate(const QString &path)
+    : uni(path)
+{
+}
+
+InterfacePrivate::~InterfacePrivate()
+{
+}
+
+ModemManager::Interface::Interface(const QString &path, QObject *parent)
+    : QObject(parent)
+    , d_ptr(new InterfacePrivate(path))
+{
+}
+
+ModemManager::Interface::Interface(InterfacePrivate &dd, QObject *parent)
+    : QObject(parent)
+    , d_ptr(&dd)
+{
+}
+
+ModemManager::Interface::~Interface()
+{
+    delete d_ptr;
+}
+
+QString ModemManager::Interface::uni() const
+{
+    Q_D(const Interface);
+    return d->uni;
+}
diff -pruN 1.0.1-2/src/interface.h 5.2.2-0ubuntu1/src/interface.h
--- 1.0.1-2/src/interface.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/interface.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,59 @@
+/*
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_INTERFACE_H
+#define MODEMMANAGERQT_INTERFACE_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QVariant>
+#include <QSharedPointer>
+#include <QDBusObjectPath>
+
+#include "generictypes.h"
+
+class InterfacePrivate;
+
+namespace ModemManager
+{
+class MODEMMANAGERQT_EXPORT Interface : public QObject
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Interface)
+
+    Q_PROPERTY(QString uni READ uni)
+
+public:
+    typedef QSharedPointer<Interface> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit Interface(const QString &path, QObject *parent = 0);
+    explicit Interface(InterfacePrivate &dd, QObject *parent = 0);
+    virtual ~Interface();
+
+    QString uni() const;
+
+protected:
+    InterfacePrivate *const d_ptr;
+};
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/interface_p.h 5.2.2-0ubuntu1/src/interface_p.h
--- 1.0.1-2/src/interface_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/interface_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,34 @@
+/*
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_INTERFACE_P_H
+#define MODEMMANAGERQT_INTERFACE_P_H
+
+#include <QString>
+
+class InterfacePrivate
+{
+public:
+    explicit InterfacePrivate(const QString &path);
+    virtual ~InterfacePrivate();
+    QString uni;
+};
+
+#endif
diff -pruN 1.0.1-2/src/macros.h 5.2.2-0ubuntu1/src/macros.h
--- 1.0.1-2/src/macros.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/macros.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,82 @@
+/*
+    Copyright 2011 Will Stephenson <wstephenson@kde.org>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MM_MACROS_H
+#define MM_MACROS_H
+
+# define MM_GLOBAL_STATIC_STRUCT_NAME(NAME)
+typedef void (*MmCleanUpFunction)();
+class MmCleanUpGlobalStatic
+{
+    public:
+        MmCleanUpFunction func;
+
+        inline ~MmCleanUpGlobalStatic() { func(); }
+};
+
+#define MM_GLOBAL_STATIC(TYPE, NAME) MM_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ())
+#define MM_GLOBAL_STATIC_WITH_ARGS(TYPE, NAME, ARGS)                            \
+static QBasicAtomicPointer<TYPE > _mm_static_##NAME = Q_BASIC_ATOMIC_INITIALIZER(0); \
+static bool _mm_static_##NAME##_destroyed;                                      \
+static struct MM_GLOBAL_STATIC_STRUCT_NAME(NAME)                                \
+{                                                                              \
+    inline bool isDestroyed() const                                            \
+    {                                                                          \
+        return _mm_static_##NAME##_destroyed;                                   \
+    }                                                                          \
+    inline bool exists() const                                                 \
+    {                                                                          \
+        return _mm_static_##NAME != 0;                                          \
+    }                                                                          \
+    inline operator TYPE*()                                                    \
+    {                                                                          \
+        return operator->();                                                   \
+    }                                                                          \
+    inline TYPE *operator->()                                                  \
+    {                                                                          \
+        if (!_mm_static_##NAME) {                                               \
+            if (isDestroyed()) {                                               \
+                qFatal("Fatal Error: Accessed global static '%s *%s()' after destruction. " \
+                       "Defined at %s:%d", #TYPE, #NAME, __FILE__, __LINE__);  \
+            }                                                                  \
+            TYPE *x = new TYPE ARGS;                                           \
+            if (!_mm_static_##NAME.testAndSetOrdered(0, x)                      \
+                && _mm_static_##NAME != x ) {                                   \
+                delete x;                                                      \
+            } else {                                                           \
+                static MmCleanUpGlobalStatic cleanUpObject = { destroy };       \
+            }                                                                  \
+        }                                                                      \
+        return _mm_static_##NAME;                                               \
+    }                                                                          \
+    inline TYPE &operator*()                                                   \
+    {                                                                          \
+        return *operator->();                                                  \
+    }                                                                          \
+    static void destroy()                                                      \
+    {                                                                          \
+        _mm_static_##NAME##_destroyed = true;                                   \
+        TYPE *x = _mm_static_##NAME;                                            \
+        _mm_static_##NAME = 0;                                                  \
+        delete x;                                                              \
+    }                                                                          \
+} NAME;
+
+#endif
diff -pruN 1.0.1-2/src/manager.cpp 5.2.2-0ubuntu1/src/manager.cpp
--- 1.0.1-2/src/manager.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/manager.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,209 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "manager.h"
+#include "manager_p.h"
+#include "macros.h"
+#include "mmdebug.h"
+#include "generictypes.h"
+#include "modem.h"
+
+Q_GLOBAL_STATIC(ModemManager::ModemManagerPrivate, globalModemManager)
+
+ModemManager::ModemManagerPrivate::ModemManagerPrivate()
+    : watcher(MM_DBUS_SERVICE, QDBusConnection::systemBus(), QDBusServiceWatcher::WatchForRegistration | QDBusServiceWatcher::WatchForUnregistration, this)
+    , iface(MM_DBUS_SERVICE, MM_DBUS_PATH, QDBusConnection::systemBus(), this)
+    , manager(MM_DBUS_SERVICE, MM_DBUS_PATH, QDBusConnection::systemBus(), this)
+{
+    qDBusRegisterMetaType<QList<QDBusObjectPath> >();
+    qDBusRegisterMetaType<NMVariantMapMap>();
+    qDBusRegisterMetaType<DBUSManagerStruct>();
+    qDBusRegisterMetaType<UIntList>();
+    registerModemManagerTypes();
+
+    bool serviceFound = manager.isValid();
+    if (!serviceFound) {
+        // find out whether it will be activated automatically
+        QDBusMessage message = QDBusMessage::createMethodCall("org.freedesktop.DBus",
+                                                              "/org/freedesktop/DBus",
+                                                              "org.freedesktop.DBus",
+                                                              "ListActivatableNames");
+
+        QDBusReply<QStringList> reply = QDBusConnection::systemBus().call(message);
+        if (reply.isValid() && reply.value().contains(MM_DBUS_SERVICE)) {
+            QDBusConnection::systemBus().interface()->startService(MM_DBUS_SERVICE);
+            serviceFound = true;
+        }
+    }
+
+    if (serviceFound) {
+        connect(&manager, &OrgFreedesktopDBusObjectManagerInterface::InterfacesAdded, this, &ModemManagerPrivate::onInterfacesAdded);
+        connect(&manager, &OrgFreedesktopDBusObjectManagerInterface::InterfacesRemoved, this, &ModemManagerPrivate::onInterfacesRemoved);
+    }
+
+    connect(&watcher, &QDBusServiceWatcher::serviceRegistered, this, &ModemManagerPrivate::daemonRegistered);
+    connect(&watcher, &QDBusServiceWatcher::serviceUnregistered, this, &ModemManagerPrivate::daemonUnregistered);
+
+    init();
+}
+
+ModemManager::ModemManagerPrivate::~ModemManagerPrivate()
+{
+}
+
+void ModemManager::ModemManagerPrivate::init()
+{
+    modemList.clear();
+
+    QDBusPendingReply<DBUSManagerStruct> reply = manager.GetManagedObjects();
+    reply.waitForFinished();
+    if (!reply.isError()) {  // enum devices
+        Q_FOREACH(const QDBusObjectPath &path, reply.value().keys()) {
+            const QString uni = path.path();
+            mmDebug() << "Adding device" << uni;
+
+            if (uni == MM_DBUS_PATH || !uni.startsWith(MM_DBUS_MODEM_PREFIX))
+                continue;
+
+            modemList.insert(uni, ModemDevice::Ptr());
+            emit modemAdded(uni);
+        }
+    } else { // show error
+        qWarning() << "Failed enumerating MM objects:" << reply.error().name() << "\n" << reply.error().message();
+    }
+}
+
+ModemManager::ModemDevice::Ptr ModemManager::ModemManagerPrivate::findModemDevice(const QString &uni)
+{
+    ModemDevice::Ptr modem;
+    if (modemList.contains(uni)) {
+        if (modemList.value(uni)) {
+            modem = modemList.value(uni);
+        } else {
+            modem = ModemDevice::Ptr(new ModemDevice(uni), &QObject::deleteLater);
+            modemList[uni] = modem;
+        }
+    }
+    return modem;
+}
+
+ModemManager::ModemDevice::List ModemManager::ModemManagerPrivate::modemDevices()
+{
+    ModemDevice::List list;
+
+    QMap<QString, ModemDevice::Ptr>::const_iterator i;
+    for (i = modemList.constBegin(); i != modemList.constEnd(); ++i) {
+        ModemDevice::Ptr modem = findModemDevice(i.key());
+        if (!modem.isNull()) {
+            list.append(modem);
+        } else {
+            qWarning() << "warning: null modem Interface for" << i.key();
+        }
+    }
+
+    return list;
+}
+
+void ModemManager::ModemManagerPrivate::scanDevices()
+{
+    iface.ScanDevices();
+}
+
+void ModemManager::ModemManagerPrivate::daemonRegistered()
+{
+    init();
+    emit serviceAppeared();
+}
+
+void ModemManager::ModemManagerPrivate::daemonUnregistered()
+{
+    emit serviceDisappeared();
+    modemList.clear();
+}
+
+void ModemManager::ModemManagerPrivate::onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties)
+{
+    //TODO control added bearers and sim cards
+
+    const QString uni = object_path.path();
+
+    /* Ignore non-modems */
+    if (!uni.startsWith(MM_DBUS_MODEM_PREFIX)) {
+        return;
+    }
+
+    mmDebug() << uni << "has new interfaces:" << interfaces_and_properties.keys();
+
+    // new device, we don't know it yet
+    if (!modemList.contains(uni)) {
+        modemList.insert(uni, ModemDevice::Ptr());
+        emit modemAdded(uni);
+    }
+    // re-emit in case of modem type change (GSM <-> CDMA)
+    else if (modemList.contains(uni) && (interfaces_and_properties.keys().contains(MM_DBUS_INTERFACE_MODEM_MODEM3GPP) ||
+                                         interfaces_and_properties.keys().contains(MM_DBUS_INTERFACE_MODEM_MODEMCDMA))) {
+        emit modemAdded(uni);
+    }
+}
+
+void ModemManager::ModemManagerPrivate::onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces)
+{
+    //TODO control removed bearers and sim cards
+
+    const QString uni = object_path.path();
+
+    /* Ignore non-modems */
+    if (!uni.startsWith(MM_DBUS_MODEM_PREFIX)) {
+        return;
+    }
+
+    mmDebug() << uni << "lost interfaces:" << interfaces;
+
+    ModemDevice::Ptr modem = findModemDevice(uni);
+
+    if (!uni.isEmpty() && (interfaces.isEmpty() || (modem && modem->interfaces().isEmpty()))) {
+        emit modemRemoved(uni);
+        modemList.remove(uni);
+    }
+}
+
+ModemManager::ModemDevice::Ptr ModemManager::findModemDevice(const QString &uni)
+{
+    return globalModemManager->findModemDevice(uni);
+}
+
+ModemManager::ModemDevice::List ModemManager::modemDevices()
+{
+    return globalModemManager->modemDevices();
+}
+
+ModemManager::Notifier * ModemManager::notifier()
+{
+    return globalModemManager;
+}
+
+void ModemManager::scanDevices()
+{
+    globalModemManager->scanDevices();
+}
diff -pruN 1.0.1-2/src/manager.h 5.2.2-0ubuntu1/src/manager.h
--- 1.0.1-2/src/manager.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/manager.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,103 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MANAGER_H
+#define MODEMMANAGERQT_MANAGER_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QDBusObjectPath>
+#include <QSharedPointer>
+
+#include "modemdevice.h"
+
+/**
+ * This namespace allows to query the underlying system to discover the available
+ * modem interfaces
+ * responsibility to notify when a modem interface or a modem appears or disappears.
+ *
+ * Note that it's implemented as a singleton and encapsulates the backend logic.
+ */
+namespace ModemManager
+{
+class Modem;
+
+class MODEMMANAGERQT_EXPORT Notifier : public QObject
+{
+    Q_OBJECT
+Q_SIGNALS:
+    /**
+     * This signal is emitted when a new modem interface is available.
+     *
+     * @param udi the network interface identifier
+     */
+    void modemAdded(const QString &udi);
+    /**
+     * This signal is emitted when a network interface is not available anymore.
+     *
+     * @param udi the network interface identifier
+     */
+    void modemRemoved(const QString &udi);
+
+    /**
+      * This signal is emitted when the ModemManager DBus service goes away
+      */
+    void serviceDisappeared();
+    /**
+      * This signal is emitted when the ModemManager DBus service appears
+      */
+    void serviceAppeared();
+};
+
+/**
+  * Retrieves the list of all modem interfaces Unique Device Identifiers (UDIs)
+  * in the system. This method is the equivalent of enumerateDevices described
+  * in Modem Manager specification.
+  *
+  * Note: only HW modems are returned (Gsm or Cdma)
+  *
+  * @return the list of modem interfaces available in this system
+  */
+MODEMMANAGERQT_EXPORT ModemDevice::List modemDevices();
+
+/**
+  * Find a new ModemManagerInterface object given its UDI.
+  *
+  * Note: only Modem-inherited objects are returned (not SMS, SIM or Bearer objects)
+  *
+  * @param uni the identifier of the modem interface to find
+  * @returns a valid Modem object if there's a device having the given UDI, an invalid one otherwise
+  */
+MODEMMANAGERQT_EXPORT ModemDevice::Ptr findModemDevice(const QString &uni);
+
+/**
+  * Start a new scan for connected modem devices.
+  */
+MODEMMANAGERQT_EXPORT void scanDevices();
+
+MODEMMANAGERQT_EXPORT Notifier * notifier();
+}
+
+#endif
diff -pruN 1.0.1-2/src/manager_p.h 5.2.2-0ubuntu1/src/manager_p.h
--- 1.0.1-2/src/manager_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/manager_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,65 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MANAGER_P_H
+#define MODEMMANAGERQT_MANAGER_P_H
+
+#include <QObject>
+#include <QDBusServiceWatcher>
+
+#include "dbus/modem3gppinterface.h"
+#include "dbus/modemmanager1interface.h"
+#include "dbus/dbus_manager.h"
+
+#include "manager.h"
+#include "modemdevice.h"
+
+namespace ModemManager
+{
+
+class Modem;
+class ModemManagerPrivate : public Notifier
+{
+Q_OBJECT
+
+public:
+    ModemManagerPrivate();
+    ~ModemManagerPrivate();
+    QDBusServiceWatcher watcher;
+    OrgFreedesktopModemManager1Interface iface;
+    QMap<QString, ModemDevice::Ptr> modemList;
+    OrgFreedesktopDBusObjectManagerInterface manager;
+    ModemManager::ModemDevice::Ptr findModemDevice(const QString &uni);
+    ModemManager::ModemDevice::List modemDevices();
+
+    void scanDevices();
+protected Q_SLOTS:
+    void init();
+    void daemonRegistered();
+    void daemonUnregistered();
+    void onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
+    void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
+};
+} // namespace ModemManager
+
+
+#endif
diff -pruN 1.0.1-2/src/mmdebug.h 5.2.2-0ubuntu1/src/mmdebug.h
--- 1.0.1-2/src/mmdebug.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/mmdebug.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,30 @@
+/*
+    Copyright 2011-2013 Lamarque Souza <lamarque@kde.org>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MMDEBUG_H
+#define MODEMMANAGERQT_MMDEBUG_H
+
+#include <QCoreApplication>
+#include <QDebug>
+
+#define mmDebug() \
+	qDebug() << "ModemManagerQt" << QCoreApplication::applicationName() << '(' << QCoreApplication::applicationPid() << ')' << __PRETTY_FUNCTION__ << ':'
+
+#endif
diff -pruN 1.0.1-2/src/modem3gpp.cpp 5.2.2-0ubuntu1/src/modem3gpp.cpp
--- 1.0.1-2/src/modem3gpp.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gpp.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,106 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modem3gpp.h"
+#include "modem3gpp_p.h"
+#include "mmdebug.h"
+#include "dbus/dbus.h"
+
+Modem3gppPrivate::Modem3gppPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modem3gppIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::Modem3gpp::Modem3gpp(const QString &path, QObject *parent)
+    : Interface(*new Modem3gppPrivate(path), parent)
+{
+    Q_D(Modem3gpp);
+
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+}
+
+ModemManager::Modem3gpp::~Modem3gpp()
+{
+}
+
+QString ModemManager::Modem3gpp::imei() const
+{
+    Q_D(const Modem3gpp);
+    return d->modem3gppIface.imei();
+}
+
+MMModem3gppRegistrationState ModemManager::Modem3gpp::registrationState() const
+{
+    Q_D(const Modem3gpp);
+    return (MMModem3gppRegistrationState)d->modem3gppIface.registrationState();
+}
+
+QString ModemManager::Modem3gpp::operatorCode() const
+{
+    Q_D(const Modem3gpp);
+    return d->modem3gppIface.operatorCode();
+}
+
+QString ModemManager::Modem3gpp::operatorName() const
+{
+    Q_D(const Modem3gpp);
+    return d->modem3gppIface.operatorName();
+}
+
+ModemManager::Modem3gpp::FacilityLocks ModemManager::Modem3gpp::enabledFacilityLocks() const
+{
+    Q_D(const Modem3gpp);
+    return (FacilityLocks)d->modem3gppIface.enabledFacilityLocks();
+}
+
+void ModemManager::Modem3gpp::registerToNetwork(const QString &networkId)
+{
+    Q_D(Modem3gpp);
+    d->modem3gppIface.Register(networkId);
+}
+
+QDBusPendingReply<QVariantMapList> ModemManager::Modem3gpp::scan()
+{
+    Q_D(Modem3gpp);
+    return d->modem3gppIface.Scan();
+}
+
+void ModemManager::Modem3gpp::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
+{
+    Q_UNUSED(invalidatedProps);
+    mmDebug() << interface << properties.keys();
+
+    if (interface == QString(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
+        QVariantMap::const_iterator it = properties.constFind(MM_MODEM_MODEM3GPP_PROPERTY_REGISTRATIONSTATE);
+        if (it != properties.constEnd()) {
+            emit registrationStateChanged((MMModem3gppRegistrationState) it->toUInt());
+        }
+
+        it = properties.constFind(MM_MODEM_MODEM3GPP_PROPERTY_ENABLEDFACILITYLOCKS);
+        if (it != properties.constEnd()) {
+            emit enabledFacilityLocksChanged((FacilityLocks) it->toUInt());
+        }
+    }
+}
diff -pruN 1.0.1-2/src/modem3gpp.h 5.2.2-0ubuntu1/src/modem3gpp.h
--- 1.0.1-2/src/modem3gpp.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gpp.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,139 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEM3GPP_H
+#define MODEMMANAGERQT_MODEM3GPP_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class Modem3gppPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The Modem3gpp class
+ *
+ * This class provides access to specific actions that may be performed in modems with 3GPP capabilities.
+ */
+class MODEMMANAGERQT_EXPORT Modem3gpp : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Modem3gpp)
+    Q_FLAGS(MMModem3gppFacility)
+
+public:
+    typedef QSharedPointer<Modem3gpp> Ptr;
+    typedef QList<Ptr> List;
+
+    Q_DECLARE_FLAGS(FacilityLocks, MMModem3gppFacility)
+
+    explicit Modem3gpp(const QString &path, QObject *parent = 0);
+    ~Modem3gpp();
+
+    /**
+     * @return the IMEI of the device
+     */
+    QString imei() const;
+
+    /**
+     * @return mobile registration status as defined in 3GPP TS 27.007 section 10.1.19
+     */
+    MMModem3gppRegistrationState registrationState() const;
+
+    /**
+     * @return code of the operator to which the mobile is currently registered.
+     *
+     * Returned in the format "MCCMNC", where MCC is the three-digit ITU E.212
+     * Mobile Country Code and MNC is the two- or three-digit GSM Mobile Network
+     * Code. e.g. e"31026" or "310260".
+     *
+     * If the MCC and MNC are not known or the mobile is not registered to a
+     * mobile network, this property will be an empty string.
+     */
+    QString operatorCode() const;
+
+    /**
+     * @return name of the operator to which the mobile is currently registered.
+     *
+     * If the operator name is not known or the mobile is not registered to a
+     * mobile network, this property will be an empty string.
+     */
+    QString operatorName() const;
+
+    /**
+     * @return QFlags of MMModem3gppFacility values for which PIN locking is enabled
+     */
+    FacilityLocks enabledFacilityLocks() const;
+
+    /**
+      * Register the device to network.
+      *
+      * @param networkId The operator ID (ie, "MCCMNC", like "310260") to register. An empty string can be used to register to the home network.
+    */
+    void registerToNetwork(const QString &networkId = QString());
+
+    /**
+     * Scan for available networks.
+     *
+     * @return a QList<QVariantMap> with the results, where each map may contain these values:
+     *
+     * "status": A MMModem3gppNetworkAvailability value representing network
+     * availability status, given as an unsigned integer (signature "u"). This
+     * key will always be present.
+     *
+     * "operator-long": Long-format name of operator, given as a string value
+     * (signature "s"). If the name is unknown, this field should not be present.
+     *
+     * "operator-short": Short-format name of operator, given as a string value
+     * (signature "s"). If the name is unknown, this field should not be present.
+     *
+     * "operator-code": Mobile code of the operator, given as a string value
+     * (signature "s"). Returned in the format "MCCMNC", where MCC is the
+     * three-digit ITU E.212 Mobile Country Code and MNC is the two- or
+     * three-digit GSM Mobile Network Code. e.g. "31026" or "310260".
+     *
+     * "access-technology": A MMModemAccessTechnology value representing the
+     * generic access technology used by this mobile network, given as an
+     * unsigned integer (signature "u").
+     */
+    QDBusPendingReply<QVariantMapList> scan();
+
+Q_SIGNALS:
+    void registrationStateChanged(MMModem3gppRegistrationState registrationState);
+    void enabledFacilityLocksChanged(FacilityLocks locks);
+
+private Q_SLOTS:
+    void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(Modem3gpp::FacilityLocks)
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modem3gpp_p.h 5.2.2-0ubuntu1/src/modem3gpp_p.h
--- 1.0.1-2/src/modem3gpp_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gpp_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,36 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_MODEM3GPP_P_H
+#define MODEMMANAGER_MODEM3GPP_P_H
+
+#include "dbus/modem3gppinterface.h"
+#include "interface_p.h"
+
+class Modem3gppPrivate: public InterfacePrivate
+{
+public:
+    explicit Modem3gppPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemModem3gppInterface modem3gppIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modem3gppussd.cpp 5.2.2-0ubuntu1/src/modem3gppussd.cpp
--- 1.0.1-2/src/modem3gppussd.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gppussd.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,117 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modem3gppussd.h"
+#include "modem3gppussd_p.h"
+#include "mmdebug.h"
+#include "dbus/dbus.h"
+
+Modem3gppUssdPrivate::Modem3gppUssdPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , ussdIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::Modem3gppUssd::Modem3gppUssd(const QString &path, QObject *parent)
+    : Interface(*new Modem3gppUssdPrivate(path), parent)
+{
+    Q_D(Modem3gppUssd);
+
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+}
+
+ModemManager::Modem3gppUssd::~Modem3gppUssd()
+{
+}
+
+void ModemManager::Modem3gppUssd::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
+{
+    Q_UNUSED(invalidatedProps);
+    mmDebug() << interface << properties.keys();
+
+    if (interface == QString(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
+        QLatin1String state(MM_MODEM_MODEM3GPP_USSD_PROPERTY_STATE);
+        QLatin1String networkNotification(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKNOTIFICATION);
+        QLatin1String networkRequest(MM_MODEM_MODEM3GPP_USSD_PROPERTY_NETWORKREQUEST);
+
+        QVariantMap::const_iterator it = properties.constFind(state);
+        if ( it != properties.constEnd()) {
+            emit stateChanged((MMModem3gppUssdSessionState)it->toUInt());
+        }
+        it = properties.constFind(networkNotification);
+        if ( it != properties.constEnd()) {
+            emit networkNotificationChanged(it->toString());
+        }
+        it = properties.constFind(networkRequest);
+        if ( it != properties.constEnd()) {
+            emit networkRequestChanged(it->toString());
+        }
+    }
+}
+
+QString ModemManager::Modem3gppUssd::initiate(const QString &command)
+{
+    Q_D(Modem3gppUssd);
+    QDBusReply<QString> reply = d->ussdIface.Initiate(command);
+
+    if (reply.isValid()) {
+        return reply.value();
+    }
+    return QString();
+}
+
+QString ModemManager::Modem3gppUssd::respond(const QString &response)
+{
+    Q_D(Modem3gppUssd);
+    QDBusReply<QString> reply = d->ussdIface.Respond(response);
+
+    if (reply.isValid()) {
+        return reply.value();
+    }
+    return QString();
+}
+
+void ModemManager::Modem3gppUssd::cancel()
+{
+    Q_D(Modem3gppUssd);
+    d->ussdIface.Cancel();
+}
+
+MMModem3gppUssdSessionState ModemManager::Modem3gppUssd::state() const
+{
+    Q_D(const Modem3gppUssd);
+    return (MMModem3gppUssdSessionState)d->ussdIface.state();
+}
+
+QString ModemManager::Modem3gppUssd::networkNotification() const
+{
+    Q_D(const Modem3gppUssd);
+    return d->ussdIface.networkNotification();
+}
+
+QString ModemManager::Modem3gppUssd::networkRequest() const
+{
+    Q_D(const Modem3gppUssd);
+    return d->ussdIface.networkRequest();
+}
diff -pruN 1.0.1-2/src/modem3gppussd.h 5.2.2-0ubuntu1/src/modem3gppussd.h
--- 1.0.1-2/src/modem3gppussd.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gppussd.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,109 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEM3GPPUSSD_H
+#define MODEMMANAGERQT_MODEM3GPPUSSD_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class Modem3gppUssdPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The Modem3gppUssd class
+ *
+ * This class provides access to actions based on the USSD protocol.
+ */
+class MODEMMANAGERQT_EXPORT Modem3gppUssd : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Modem3gppUssd)
+
+public:
+    typedef QSharedPointer<Modem3gppUssd> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit Modem3gppUssd(const QString &path, QObject *parent = 0);
+    ~Modem3gppUssd();
+
+    /**
+     * Sends a USSD @p command string to the network initiating a USSD session.
+     *
+     * 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.
+     */
+    QString initiate(const QString &command);
+
+    /**
+     * Respond to a USSD request that is either initiated by the mobile network,
+     * or that is awaiting further input after initiate() was called.
+     */
+    QString respond(const QString &response);
+
+    /**
+     * Cancel an ongoing USSD session, either mobile or network initiated.
+     */
+    void cancel();
+
+    /**
+     * @return the state of any ongoing USSD session
+     */
+    MMModem3gppUssdSessionState state() const;
+
+    /**
+     * @return any network-initiated request to which no USSD response is required
+     *
+     * When no USSD session is active, or when there is no network- initiated request, this property will be an empty string.
+     */
+    QString networkNotification() const;
+
+    /**
+     * @return any pending network-initiated request for a response. Client
+     * should call respond() with the appropriate response to this request.
+     *
+     * When no USSD session is active, or when there is no pending
+     * network-initiated request, this property will be an empty string.
+     */
+    QString networkRequest() const;
+
+Q_SIGNALS:
+    void stateChanged(MMModem3gppUssdSessionState state);
+    void networkNotificationChanged(const QString &networkNotification);
+    void networkRequestChanged(const QString &networkRequest);
+
+private Q_SLOTS:
+    void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modem3gppussd_p.h 5.2.2-0ubuntu1/src/modem3gppussd_p.h
--- 1.0.1-2/src/modem3gppussd_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem3gppussd_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,36 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEM3GPPUSSD_P_H
+#define MODEMMANAGERQT_MODEM3GPPUSSD_P_H
+
+#include "dbus/ussdinterface.h"
+#include "interface_p.h"
+
+class Modem3gppUssdPrivate: public InterfacePrivate
+{
+public:
+    explicit Modem3gppUssdPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemModem3gppUssdInterface ussdIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemcdma.cpp 5.2.2-0ubuntu1/src/modemcdma.cpp
--- 1.0.1-2/src/modemcdma.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemcdma.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,103 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemcdma.h"
+#include "modemcdma_p.h"
+#include "mmdebug.h"
+
+ModemCdmaPrivate::ModemCdmaPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemCdmaIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemCdma::ModemCdma(const QString &path, QObject *parent)
+    : Interface(*new ModemCdmaPrivate(path), parent)
+{
+    Q_D(ModemCdma);
+
+    connect(&d->modemCdmaIface, &OrgFreedesktopModemManager1ModemModemCdmaInterface::ActivationStateChanged, this, &ModemCdma::onActivationStateChanged);
+}
+
+ModemManager::ModemCdma::~ModemCdma()
+{
+}
+
+void ModemManager::ModemCdma::activate(const QString &carrierCode)
+{
+    Q_D(ModemCdma);
+    d->modemCdmaIface.Activate(carrierCode);
+}
+
+void ModemManager::ModemCdma::activateManual(const QVariantMap &properties)
+{
+    Q_D(ModemCdma);
+    d->modemCdmaIface.ActivateManual(properties);
+}
+
+MMModemCdmaActivationState ModemManager::ModemCdma::activationState() const
+{
+    Q_D(const ModemCdma);
+    return (MMModemCdmaActivationState)d->modemCdmaIface.activationState();
+}
+
+QString ModemManager::ModemCdma::meid() const
+{
+    Q_D(const ModemCdma);
+    return d->modemCdmaIface.meid();
+}
+
+QString ModemManager::ModemCdma::esn() const
+{
+    Q_D(const ModemCdma);
+    return d->modemCdmaIface.esn();
+}
+
+uint ModemManager::ModemCdma::sid() const
+{
+    Q_D(const ModemCdma);
+    return d->modemCdmaIface.sid();
+}
+
+uint ModemManager::ModemCdma::nid() const
+{
+    Q_D(const ModemCdma);
+    return d->modemCdmaIface.nid();
+}
+
+MMModemCdmaRegistrationState ModemManager::ModemCdma::cdma1xRegistrationState() const
+{
+    Q_D(const ModemCdma);
+    return (MMModemCdmaRegistrationState)d->modemCdmaIface.cdma1xRegistrationState();
+}
+
+MMModemCdmaRegistrationState ModemManager::ModemCdma::evdoRegistrationState() const
+{
+    Q_D(const ModemCdma);
+    return (MMModemCdmaRegistrationState)d->modemCdmaIface.evdoRegistrationState();
+}
+
+void ModemManager::ModemCdma::onActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes)
+{
+    emit activationStateChanged((MMModemCdmaActivationState)activation_state, (MMCdmaActivationError)activation_error, status_changes);
+}
diff -pruN 1.0.1-2/src/modemcdma.h 5.2.2-0ubuntu1/src/modemcdma.h
--- 1.0.1-2/src/modemcdma.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemcdma.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,134 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMCDMA_H
+#define MODEMMANAGERQT_MODEMCDMA_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QVariant>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class ModemCdmaPrivate;
+
+namespace ModemManager {
+/**
+ * @brief The ModemCdma class
+ *
+ * This class provides access to specific actions that may be performed in modems with CDMA capabilities.
+ */
+class MODEMMANAGERQT_EXPORT ModemCdma : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemCdma)
+public:
+    typedef QSharedPointer<ModemCdma> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit ModemCdma(const QString &path, QObject *parent = 0);
+    ~ModemCdma();
+
+    /**
+     * Provisions the modem for use with a given carrier using the modem's
+     * Over-The-Air (OTA) activation functionality, if any.
+     *
+     * Some modems will reboot after this call is made.
+     *
+     * @param carrierCode name of carrier, or carrier-specific code
+     */
+    void activate(const QString &carrierCode);
+
+    /**
+     * Sets the modem provisioning data directly, without contacting the carrier over the air.
+     *
+     * Some modems will reboot after this call is made.
+     *
+     * @param properties QVariantMap consisting of:
+     *
+     * "spc": The Service Programming Code, given as a string of exactly 6 digit characters. Mandatory parameter.
+     * "sid": The System Identification Number, given as a 16-bit unsigned integer (signature "q"). Mandatory parameter.
+     * "mdn": The Mobile Directory Number, given as a string of maximum 15 characters. Mandatory parameter.
+     * "min": The Mobile Identification Number, given as a string of maximum 15 characters. Mandatory parameter.
+     * "mn-ha-key": The MN-HA key, given as a string of maximum 16 characters.
+     * "mn-aaa-key": The MN-AAA key, given as a string of maximum 16 characters.
+     * "prl": The Preferred Roaming List, given as an array of maximum 16384 bytes.
+     */
+    void activateManual(const QVariantMap &properties);
+
+    /**
+     * @return a MMModemCdmaActivationState value specifying the state of the activation in the 3GPP2 network.
+     */
+    MMModemCdmaActivationState activationState() const;
+
+    /**
+     * @return the modem's Mobile Equipment Identifier.
+     */
+    QString meid() const;
+
+    /**
+     * @return the modem's Electronic Serial Number (superceded by MEID but still used by older devices).
+     */
+    QString esn() const;
+
+    /**
+     * @return the System Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network.
+     * @see http://ifast.org or the mobile broadband provider database for mappings of SIDs to network providers.
+     */
+    uint sid() const;
+
+    /**
+     * @return the Network Identifier of the serving CDMA 1x network, if known, and if the modem is registered with a CDMA 1x network.
+     */
+    uint nid() const;
+
+    /**
+     * @return a MMModemCdmaRegistrationState value specifying the CDMA 1x registration state.
+     */
+    MMModemCdmaRegistrationState cdma1xRegistrationState() const;
+
+    /**
+     * @return a MMModemCdmaRegistrationState value specifying the EVDO registration state.
+     */
+    MMModemCdmaRegistrationState evdoRegistrationState() const;
+
+private Q_SLOTS:
+    void onActivationStateChanged(uint activation_state, uint activation_error, const QVariantMap &status_changes);
+
+Q_SIGNALS:
+    /**
+     * This signal is emitted when the activation info this network changes
+     *
+     * @param state current activation state, given as a MMModemCdmaActivationState.
+     * @param error carrier-specific error code, given as a MMCdmaActivationError.
+     * @param status_changes properties that have changed as a result of this activation state chage, including "mdn" and "min".
+     *                       The map may be empty if the changed properties are unknown.
+     */
+    void activationStateChanged(MMModemCdmaActivationState state, MMCdmaActivationError error, const QVariantMap &status_changes);
+};
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemcdma_p.h 5.2.2-0ubuntu1/src/modemcdma_p.h
--- 1.0.1-2/src/modemcdma_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemcdma_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,36 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMCDMA_P_H
+#define MODEMMANAGERQT_MODEMCDMA_P_H
+
+#include "interface_p.h"
+#include "dbus/modemcdmainterface.h"
+
+class ModemCdmaPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemCdmaPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemModemCdmaInterface modemCdmaIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modem.cpp 5.2.2-0ubuntu1/src/modem.cpp
--- 1.0.1-2/src/modem.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,461 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modem.h"
+#include "modem_p.h"
+
+#include "dbus/dbus.h"
+#include "generictypes.h"
+#include "mmdebug.h"
+
+#include <QDomDocument>
+
+
+ModemPrivate::ModemPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+    , modemSimpleIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+    device = modemIface.device();
+    drivers = modemIface.drivers();
+    simPath = modemIface.sim().path();
+}
+
+ModemManager::Modem::Modem(const QString &path, QObject *parent)
+    : Interface(*new ModemPrivate(path), parent)
+{
+    Q_D(Modem);
+    if (d->modemIface.isValid()) {
+        QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, "PropertiesChanged", this,
+                                             SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+    }
+
+    connect(&d->modemIface, &OrgFreedesktopModemManager1ModemInterface::StateChanged, this, &Modem::onStateChanged);
+}
+
+ModemManager::Modem::~Modem()
+{
+}
+
+QString ModemManager::Modem::uni() const
+{
+    Q_D(const Modem);
+    return d->uni;
+}
+
+bool ModemManager::Modem::isEnabled() const
+{
+    Q_D(const Modem);
+    return (MMModemPowerState)d->modemIface.powerState() == MM_MODEM_POWER_STATE_ON;
+}
+
+bool ModemManager::Modem::isValid() const
+{
+    Q_D(const Modem);
+    return d->modemIface.isValid();
+}
+
+void ModemManager::Modem::setEnabled(bool enable)
+{
+    Q_D(Modem);
+    d->modemIface.Enable(enable);
+}
+
+QString ModemManager::Modem::createBearer(const BearerStruct &bearer)
+{
+    Q_D(Modem);
+    QVariantMap map;
+    map.insert("apn", bearer.apn);
+    if (bearer.ipType != MM_BEARER_IP_FAMILY_NONE)
+        map.insert("ip-type", (uint)bearer.ipType);
+    if (bearer.allowedAuth != MM_BEARER_ALLOWED_AUTH_UNKNOWN)
+        map.insert("allowed-auth", (uint)bearer.allowedAuth);
+    if (!bearer.user.isEmpty())
+        map.insert("user", bearer.user);
+    if (!bearer.password.isEmpty())
+        map.insert("password", bearer.password);
+    map.insert("allow-roaming", bearer.allowRoaming);
+    if (bearer.rmProtocol != MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN)
+        map.insert("rm-protocol", (uint)bearer.rmProtocol);
+    if (!bearer.number.isEmpty())
+        map.insert("number", bearer.number);
+    QDBusObjectPath obj = d->modemIface.CreateBearer(map);
+    return obj.path();
+}
+
+void ModemManager::Modem::deleteBearer(const QString &bearer)
+{
+    Q_D(Modem);
+    d->modemIface.DeleteBearer(QDBusObjectPath(bearer));
+}
+
+QStringList ModemManager::Modem::listBearers()
+{
+    Q_D(const Modem);
+    QStringList result;
+
+#if MM_CHECK_VERSION(1, 2, 0)
+    QList<QDBusObjectPath> bearers = d->modemIface.bearers();
+#else
+    QList<QDBusObjectPath> bearers = const_cast<ModemPrivate *>(d)->modemIface.ListBearers();
+#endif
+
+    foreach(const QDBusObjectPath &path, bearers) {
+        result.append(path.path());
+    }
+
+    return result;
+}
+
+void ModemManager::Modem::reset()
+{
+    Q_D(Modem);
+    d->modemIface.Reset();
+}
+
+void ModemManager::Modem::factoryReset(const QString &code)
+{
+    Q_D(Modem);
+    d->modemIface.FactoryReset(code);
+}
+
+void ModemManager::Modem::setPowerState(MMModemPowerState state)
+{
+    Q_D(Modem);
+    d->modemIface.SetPowerState(state);
+}
+
+void ModemManager::Modem::setCurrentCapabilities(Capabilities caps)
+{
+    Q_D(Modem);
+    d->modemIface.SetCurrentCapabilities((uint) caps);
+}
+
+void ModemManager::Modem::setCurrentModes(const CurrentModesType &mode)
+{
+    Q_D(Modem);
+    d->modemIface.SetCurrentModes(mode);
+}
+
+void ModemManager::Modem::setCurrentBands(const QList<MMModemBand> &bands)
+{
+    Q_D(Modem);
+    QList<uint> tmp;
+    foreach (const MMModemBand band, bands) {
+        tmp.append(band);
+    }
+    d->modemIface.SetCurrentBands(tmp);
+}
+
+QDBusPendingReply<QString> ModemManager::Modem::command(const QString &cmd, uint timeout)
+{
+    Q_D(Modem);
+    return d->modemIface.Command(cmd, timeout);
+}
+
+QString ModemManager::Modem::simPath() const
+{
+    Q_D(const Modem);
+    return d->simPath;
+}
+
+QList<MMModemCapability> ModemManager::Modem::supportedCapabilities() const
+{
+    Q_D(const Modem);
+
+    QList<MMModemCapability> result;
+    foreach (uint cap, d->modemIface.supportedCapabilities()) {
+        result.append((MMModemCapability)cap);
+    }
+
+    return result;
+}
+
+ModemManager::Modem::Capabilities ModemManager::Modem::currentCapabilities() const
+{
+    Q_D(const Modem);
+    return (Capabilities)d->modemIface.currentCapabilities();
+}
+
+uint ModemManager::Modem::maxBearers() const
+{
+    Q_D(const Modem);
+    return d->modemIface.maxBearers();
+}
+
+uint ModemManager::Modem::maxActiveBearers() const
+{
+    Q_D(const Modem);
+    return d->modemIface.maxActiveBearers();
+}
+
+QString ModemManager::Modem::manufacturer() const
+{
+    Q_D(const Modem);
+    return d->modemIface.manufacturer();
+}
+
+QString ModemManager::Modem::model() const
+{
+    Q_D(const Modem);
+    return d->modemIface.model();
+}
+
+QString ModemManager::Modem::revision() const
+{
+    Q_D(const Modem);
+    return d->modemIface.revision();
+}
+
+QString ModemManager::Modem::deviceIdentifier() const
+{
+    Q_D(const Modem);
+    return d->modemIface.deviceIdentifier();
+}
+
+QString ModemManager::Modem::device() const
+{
+    Q_D(const Modem);
+    return d->modemIface.device();
+}
+
+QStringList ModemManager::Modem::drivers() const
+{
+    Q_D(const Modem);
+    return d->modemIface.drivers();
+}
+
+QString ModemManager::Modem::plugin() const
+{
+    Q_D(const Modem);
+    return d->modemIface.plugin();
+}
+
+QString ModemManager::Modem::primaryPort() const
+{
+    Q_D(const Modem);
+    return d->modemIface.primaryPort();
+}
+
+PortList ModemManager::Modem::ports() const
+{
+    Q_D(const Modem);
+    return d->modemIface.ports();
+}
+
+QString ModemManager::Modem::equipmentIdentifier() const
+{
+    Q_D(const Modem);
+    return d->modemIface.equipmentIdentifier();
+}
+
+MMModemLock ModemManager::Modem::unlockRequired() const
+{
+    Q_D(const Modem);
+    return (MMModemLock)d->modemIface.unlockRequired();
+}
+
+UnlockRetriesMap ModemManager::Modem::unlockRetries() const
+{
+    Q_D(const Modem);
+    return d->modemIface.unlockRetries();
+}
+
+MMModemState ModemManager::Modem::state() const
+{
+    Q_D(const Modem);
+    return (MMModemState)d->modemIface.state();
+}
+
+MMModemStateFailedReason ModemManager::Modem::stateFailedReason() const
+{
+    Q_D(const Modem);
+    return (MMModemStateFailedReason)d->modemIface.stateFailedReason();
+}
+
+ModemManager::Modem::AccessTechnologies ModemManager::Modem::accessTechnologies() const
+{
+    Q_D(const Modem);
+    return (AccessTechnologies)d->modemIface.accessTechnologies();
+}
+
+SignalQualityPair ModemManager::Modem::signalQuality() const
+{
+    Q_D(const Modem);
+    return d->modemIface.signalQuality();
+}
+
+QStringList ModemManager::Modem::ownNumbers() const
+{
+    Q_D(const Modem);
+    return d->modemIface.ownNumbers();
+}
+
+MMModemPowerState ModemManager::Modem::powerState() const
+{
+    Q_D(const Modem);
+    return (MMModemPowerState)d->modemIface.powerState();
+}
+
+SupportedModesType ModemManager::Modem::supportedModes() const
+{
+    Q_D(const Modem);
+    return d->modemIface.supportedModes();
+}
+
+CurrentModesType ModemManager::Modem::currentModes() const
+{
+    Q_D(const Modem);
+    return d->modemIface.currentModes();
+}
+
+QList<MMModemBand> ModemManager::Modem::supportedBands() const
+{
+    Q_D(const Modem);
+    QList<MMModemBand> result;
+    foreach (uint band, d->modemIface.supportedBands()) {
+        result.append((MMModemBand)band);
+    }
+
+    return result;
+}
+
+QList<MMModemBand> ModemManager::Modem::currentBands() const
+{
+    Q_D(const Modem);
+    QList<MMModemBand> result;
+    foreach (uint band, d->modemIface.currentBands()) {
+        result.append((MMModemBand)band);
+    }
+
+    return result;
+}
+
+ModemManager::Modem::IpBearerFamilies ModemManager::Modem::supportedIpFamilies() const
+{
+    Q_D(const Modem);
+    return (IpBearerFamilies)d->modemIface.supportedIpFamilies();
+}
+
+void ModemManager::Modem::onPropertiesChanged(const QString &ifaceName, const QVariantMap &changedProps, const QStringList &invalidatedProps)
+{
+    Q_UNUSED(invalidatedProps);
+    Q_D(Modem);
+    mmDebug() << ifaceName << changedProps.keys();
+
+    if (ifaceName == QString(MM_DBUS_INTERFACE_MODEM)) {
+        QLatin1String device(MM_MODEM_PROPERTY_DEVICE);
+        QLatin1String drivers(MM_MODEM_PROPERTY_DRIVERS);
+        QLatin1String enabled(MM_MODEM_PROPERTY_POWERSTATE);
+        QLatin1String unlockRequired(MM_MODEM_PROPERTY_UNLOCKREQUIRED);
+        QLatin1String signalQuality(MM_MODEM_PROPERTY_SIGNALQUALITY);
+        QLatin1String tech(MM_MODEM_PROPERTY_ACCESSTECHNOLOGIES);
+        QLatin1String currentModes(MM_MODEM_PROPERTY_CURRENTMODES);
+        QLatin1String simPath(MM_MODEM_PROPERTY_SIM);
+        QLatin1String powerState(MM_MODEM_PROPERTY_POWERSTATE);
+#if MM_CHECK_VERSION(1,1,900)
+        QLatin1String bearers(MM_MODEM_PROPERTY_BEARERS);
+#endif
+
+        QVariantMap::const_iterator it = changedProps.constFind(device);
+        if (it != changedProps.constEnd()) {
+            d->device = it->toString();
+            emit deviceChanged(d->device);
+        }
+        it = changedProps.constFind(drivers);
+        if (it != changedProps.constEnd()) {
+            d->drivers = it->toStringList();
+            emit driversChanged(d->drivers);
+        }
+        it = changedProps.constFind(enabled);
+        if (it != changedProps.constEnd()) {
+            emit enabledChanged(it->toBool());
+        }
+        it = changedProps.constFind(unlockRequired);
+        if (it != changedProps.constEnd()) {
+            emit unlockRequiredChanged((MMModemLock)it->toUInt());
+        }
+        it = changedProps.constFind(tech);
+        if (it != changedProps.constEnd()) {
+            emit accessTechnologyChanged(static_cast<AccessTechnologies>(it->toUInt()));
+        }
+        it = changedProps.constFind(currentModes);
+        if (it != changedProps.constEnd()) {
+            emit currentModesChanged();
+        }
+        it = changedProps.constFind(signalQuality);
+        if (it != changedProps.constEnd()) {
+            SignalQualityPair pair = qdbus_cast<SignalQualityPair>(*it);
+            if (pair.recent) {
+                emit signalQualityChanged(pair.signal);
+            }
+        }
+        it = changedProps.constFind(simPath);
+        if (it != changedProps.constEnd()) {
+            const QString path = qdbus_cast<QDBusObjectPath>(*it).path();
+            emit simPathChanged(d->simPath, path);
+            d->simPath = path;
+        }
+        it = changedProps.constFind(powerState);
+        if (it != changedProps.constEnd()) {
+            emit powerStateChanged((MMModemPowerState)it->toUInt());
+        }
+#if MM_CHECK_VERSION(1, 1, 900)
+        it = changedProps.constFind(bearers);
+        if (it != changedProps.constEnd()) {
+            emit bearersChanged();
+        }
+#endif
+    }
+}
+
+void ModemManager::Modem::onStateChanged(int oldState, int newState, uint reason)
+{
+    emit stateChanged((MMModemState) oldState, (MMModemState) newState, (MMModemStateChangeReason) reason);
+}
+
+/*** From org.freedesktop.ModemManager.Modem.Simple ***/
+
+QDBusObjectPath ModemManager::Modem::connectModem(const QVariantMap &properties)
+{
+    Q_D(Modem);
+    return d->modemSimpleIface.Connect(properties);
+}
+
+QVariantMap ModemManager::Modem::status()
+{
+    Q_D(Modem);
+    return d->modemSimpleIface.GetStatus();
+}
+
+void ModemManager::Modem::disconnectModem(const QString &bearer)
+{
+    Q_D(Modem);
+    d->modemSimpleIface.Disconnect(QDBusObjectPath(bearer));
+}
+
+void ModemManager::Modem::disconnectAllModems()
+{
+    disconnectModem(QStringLiteral("/"));
+}
diff -pruN 1.0.1-2/src/modemdevice.cpp 5.2.2-0ubuntu1/src/modemdevice.cpp
--- 1.0.1-2/src/modemdevice.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemdevice.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,432 @@
+/*
+    Copyright 2013, 2014 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemdevice.h"
+#include "modemdevice_p.h"
+
+#include "dbus/dbus.h"
+#include "generictypes.h"
+#include "manager.h"
+#include "mmdebug.h"
+#include "modem.h"
+#include "modemcdma.h"
+#include "modem3gpp.h"
+#include "modem3gppussd.h"
+#include "modemlocation.h"
+#if MM_CHECK_VERSION(1, 2, 0)
+#include "modemoma.h"
+#include "modemsignal.h"
+#endif
+#include "modemtime.h"
+#include "modemfirmware.h"
+
+#include <QDomDocument>
+
+
+ModemDevicePrivate::ModemDevicePrivate(const QString &path, ModemManager::ModemDevice *q)
+    : uni(path)
+    , q_ptr(q)
+{
+    init();
+}
+
+ModemDevicePrivate::~ModemDevicePrivate()
+{
+}
+
+void ModemDevicePrivate::init()
+{
+    Q_Q(ModemManager::ModemDevice);
+
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, MM_DBUS_PATH, DBUS_INTERFACE_MANAGER, QStringLiteral("InterfacesAdded"),
+                                         q, SLOT(onInterfacesAdded(QDBusObjectPath,NMVariantMapMap)));
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, MM_DBUS_PATH, DBUS_INTERFACE_MANAGER, QStringLiteral("InterfacesRemoved"),
+                                         q, SLOT(onInterfacesRemoved(QDBusObjectPath,QStringList)));
+
+    initInterfaces();
+}
+
+void ModemDevicePrivate::initInterfaces()
+{
+    Q_Q(ModemManager::ModemDevice);
+
+    interfaceList.clear();
+
+    const QString xmlData = introspect();
+    if (xmlData.isEmpty()) {
+        mmDebug() << uni << "has no interfaces!";
+        return;
+    }
+
+    QDomDocument dom;
+    dom.setContent(xmlData);
+
+    QDomNodeList ifaceNodeList = dom.elementsByTagName("interface");
+    for (int i = 0; i < ifaceNodeList.count(); i++) {
+        QDomElement ifaceElem = ifaceNodeList.item(i).toElement();
+        /* Accept only MM interfaces so that when the device is unplugged,
+         * interfaceList goes empty and we can easily verify that the device is gone. */
+        if (!ifaceElem.isNull() && ifaceElem.attribute("name").startsWith(MM_DBUS_SERVICE)) {
+            const QString name = ifaceElem.attribute("name");
+            if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
+                interfaceList.insert(ModemManager::ModemDevice::ModemInterface, ModemManager::Modem::Ptr());
+                if (interfaceList.contains(ModemManager::ModemDevice::ModemInterface)) {
+                    ModemManager::Modem::Ptr modemInterface = interface(ModemManager::ModemDevice::ModemInterface).objectCast<ModemManager::Modem>();
+                    if (!modemInterface->simPath().isEmpty()) {
+                        simCard = ModemManager::Sim::Ptr(new ModemManager::Sim(modemInterface->simPath()), &QObject::deleteLater);
+                        //q->simAdded(modemInterface->simPath());
+
+                        QObject::connect(modemInterface.data(), SIGNAL(simPathChanged(QString,QString)),
+                                         q, SLOT(onSimPathChanged(QString,QString)));
+                    }
+                }
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
+                interfaceList.insert(ModemManager::ModemDevice::GsmInterface, ModemManager::Modem3gpp::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
+                interfaceList.insert(ModemManager::ModemDevice::GsmUssdInterface, ModemManager::Modem3gppUssd::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
+                interfaceList.insert(ModemManager::ModemDevice::CdmaInterface, ModemManager::ModemCdma::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
+                interfaceList.insert(ModemManager::ModemDevice::MessagingInterface, ModemManager::ModemMessaging::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
+                interfaceList.insert(ModemManager::ModemDevice::LocationInterface, ModemManager::ModemLocation::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
+                interfaceList.insert(ModemManager::ModemDevice::TimeInterface, ModemManager::ModemTime::Ptr());
+            }
+#if MM_CHECK_VERSION(1, 2, 0)
+              else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_OMA)) {
+                interfaceList.insert(ModemManager::ModemDevice::OmaInterface, ModemManager::ModemOma::Ptr());
+            } else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_SIGNAL)) {
+                interfaceList.insert(ModemManager::ModemDevice::SignalInterface, ModemManager::ModemSignal::Ptr());
+            }
+#endif
+            else if (name == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
+                interfaceList.insert(ModemManager::ModemDevice::FirmwareInterface, ModemManager::ModemFirmware::Ptr());
+            }
+        }
+    }
+
+    mmDebug() << uni << "has interfaces:" << interfaceList.keys();
+}
+
+QString ModemDevicePrivate::introspect() const
+{
+    QDBusMessage call = QDBusMessage::createMethodCall(MM_DBUS_SERVICE, uni, DBUS_INTERFACE_INTROSPECT, "Introspect");
+    QDBusPendingReply<QString> reply = QDBusConnection::systemBus().call(call);
+
+    if (reply.isValid())
+        return reply.value();
+    else {
+        return QString();
+    }
+}
+
+ModemManager::ModemDevice::ModemDevice(const QString &path, QObject *parent)
+    : QObject(parent)
+    , d_ptr(new ModemDevicePrivate(path, this))
+{
+}
+
+ModemManager::ModemDevice::ModemDevice(ModemDevicePrivate &dd, QObject *parent)
+    : QObject(parent)
+    , d_ptr(&dd)
+{
+}
+
+ModemManager::ModemDevice::~ModemDevice()
+{
+    delete d_ptr;
+}
+
+ModemManager::Interface::List ModemDevicePrivate::interfaces()
+{
+    ModemManager::Interface::List list;
+
+    QMap<ModemManager::ModemDevice::InterfaceType, ModemManager::Interface::Ptr>::const_iterator i;
+    for (i = interfaceList.constBegin(); i != interfaceList.constEnd(); ++i) {
+        ModemManager::Interface::Ptr modemInterface = interface(i.key());
+        if (modemInterface) {
+            list.append(modemInterface);
+        } else {
+            qWarning() << "warning: null network Interface for" << i.key();
+        }
+    }
+
+    return list;
+}
+
+ModemManager::Interface::Ptr ModemDevicePrivate::interface(ModemManager::ModemDevice::InterfaceType type)
+{
+    ModemManager::Interface::Ptr modemInterface;
+
+    if (interfaceList.contains(type)) {
+        if (interfaceList.value(type)) {
+            modemInterface = interfaceList.value(type);
+        } else {
+            modemInterface = createInterface(type);
+            interfaceList[type] = modemInterface;
+        }
+    }
+
+    return modemInterface;
+}
+
+ModemManager::Interface::Ptr ModemDevicePrivate::createInterface(ModemManager::ModemDevice::InterfaceType type)
+{
+    ModemManager::Interface::Ptr createdInterface;
+    switch (type) {
+        case ModemManager::ModemDevice::ModemInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::GsmInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem3gpp(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::GsmUssdInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::Modem3gppUssd(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::CdmaInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemCdma(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::MessagingInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemMessaging(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::LocationInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemLocation(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::TimeInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemTime(uni), &QObject::deleteLater);
+            break;
+#if MM_CHECK_VERSION(1, 2, 0)
+        case ModemManager::ModemDevice::OmaInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemOma(uni), &QObject::deleteLater);
+            break;
+        case ModemManager::ModemDevice::SignalInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemSignal(uni), &QObject::deleteLater);
+            break;
+#endif
+        case ModemManager::ModemDevice::FirmwareInterface:
+            createdInterface = ModemManager::Interface::Ptr(new ModemManager::ModemFirmware(uni), &QObject::deleteLater);
+            break;
+    }
+    return createdInterface;
+}
+
+ModemManager::Bearer::Ptr ModemDevicePrivate::findBearer(const QString &uni)
+{
+    ModemManager::Bearer::Ptr result;
+    foreach (const ModemManager::Bearer::Ptr & bearer, bearers()) {
+        if (bearer->uni() == uni) {
+            result = bearer;
+            break;
+        }
+    }
+
+    return result;
+}
+
+ModemManager::Bearer::List ModemDevicePrivate::bearers()
+{
+    Q_Q(ModemManager::ModemDevice);
+    ModemManager::Bearer::List result;
+    foreach (const QString & path, q->modemInterface()->listBearers()) {
+        ModemManager::Bearer::Ptr modemBearer = ModemManager::Bearer::Ptr(new ModemManager::Bearer(path), &QObject::deleteLater);
+        if (modemBearer) {
+            result.append(modemBearer);
+        } else {
+            mmDebug() << "warning: null bearer interface for" << path;
+        }
+    }
+
+    return result;
+}
+
+ModemManager::Sim::Ptr ModemDevicePrivate::sim()
+{
+    return simCard;
+}
+
+QString ModemManager::ModemDevice::uni() const
+{
+    Q_D(const ModemDevice);
+    return d->uni;
+}
+
+bool ModemManager::ModemDevice::hasInterface(ModemManager::ModemDevice::InterfaceType type) const
+{
+    Q_D(const ModemDevice);
+    return d->interfaceList.contains(type);
+}
+
+ModemManager::Interface::Ptr ModemManager::ModemDevice::interface(ModemManager::ModemDevice::InterfaceType type) const
+{
+    Q_D(const ModemDevice);
+
+    return const_cast<ModemDevicePrivate*>(d)->interface(type);
+}
+
+ModemManager::Interface::List ModemManager::ModemDevice::interfaces() const
+{
+    Q_D(const ModemDevice);
+
+    return const_cast<ModemDevicePrivate*>(d)->interfaces();
+}
+
+ModemManager::ModemMessaging::Ptr ModemManager::ModemDevice::messagingInterface()
+{
+    Q_D(ModemDevice);
+
+    return d->interface(ModemManager::ModemDevice::MessagingInterface).objectCast<ModemManager::ModemMessaging>();
+}
+
+ModemManager::Modem::Ptr ModemManager::ModemDevice::modemInterface()
+{
+    Q_D(ModemDevice);
+
+    return d->interface(ModemManager::ModemDevice::ModemInterface).objectCast<ModemManager::Modem>();
+}
+
+ModemManager::Bearer::Ptr ModemManager::ModemDevice::findBearer(const QString &uni)
+{
+    Q_D(ModemDevice);
+
+    return d->findBearer(uni);
+}
+
+ModemManager::Bearer::List ModemManager::ModemDevice::bearers() const
+{
+    Q_D(const ModemDevice);
+
+    return const_cast<ModemDevicePrivate*>(d)->bearers();
+}
+
+ModemManager::Sim::Ptr ModemManager::ModemDevice::sim() const
+{
+    Q_D(const ModemDevice);
+
+    return const_cast<ModemDevicePrivate*>(d)->sim();
+}
+
+bool ModemManager::ModemDevice::isGsmModem() const
+{
+    return hasInterface(ModemManager::ModemDevice::GsmInterface);
+}
+
+bool ModemManager::ModemDevice::isCdmaModem() const
+{
+    return hasInterface(ModemManager::ModemDevice::CdmaInterface);
+}
+
+void ModemManager::ModemDevice::onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties)
+{
+    Q_D(ModemDevice);
+    if (object_path.path() != d->uni) {
+        return;
+    }
+
+    foreach(const QString & iface, interfaces_and_properties.keys()) {
+        /* Don't store generic DBus interfaces */
+        if (iface.startsWith(MM_DBUS_SERVICE)) {
+            if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::ModemInterface, ModemManager::Modem::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::GsmInterface, ModemManager::Modem3gpp::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::GsmUssdInterface, ModemManager::Modem3gppUssd::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::CdmaInterface, ModemManager::ModemCdma::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::MessagingInterface, ModemManager::ModemMessaging::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::LocationInterface, ModemManager::ModemLocation::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::TimeInterface, ModemManager::ModemTime::Ptr());
+            }
+#if MM_CHECK_VERSION(1, 2, 0)
+              else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_OMA)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::OmaInterface, ModemManager::ModemOma::Ptr());
+            } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_SIGNAL)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::SignalInterface, ModemManager::ModemSignal::Ptr());
+            }
+#endif
+            else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
+                d->interfaceList.insert(ModemManager::ModemDevice::FirmwareInterface, ModemManager::ModemFirmware::Ptr());
+            }
+        }
+    }
+}
+
+void ModemManager::ModemDevice::onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces)
+{
+    Q_D(ModemDevice);
+    if (object_path.path() != d->uni) {
+        return;
+    }
+
+    if (interfaces.contains(MM_DBUS_INTERFACE_MODEM) || interfaces.isEmpty()) {
+        if (d->simCard) {
+            emit simRemoved(d->simCard->uni());
+            d->simCard = ModemManager::Sim::Ptr();
+        }
+    }
+
+    foreach(const QString & iface, interfaces) {
+        if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::ModemInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::GsmInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEM3GPP_USSD)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::GsmUssdInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MODEMCDMA)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::CdmaInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::MessagingInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::LocationInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_TIME)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::TimeInterface);
+        }
+#if MM_CHECK_VERSION(1, 2, 0)
+          else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_OMA)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::OmaInterface);
+        } else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_SIGNAL)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::SignalInterface);
+        }
+#endif
+          else if (iface == QLatin1String(MM_DBUS_INTERFACE_MODEM_FIRMWARE)) {
+            d->interfaceList.remove(ModemManager::ModemDevice::FirmwareInterface);
+        }
+    }
+}
+
+void ModemManager::ModemDevice::onSimPathChanged(const QString &oldPath, const QString &newPath)
+{
+    Q_D(ModemDevice);
+
+    if (!oldPath.isEmpty() && d->simCard->uni() == oldPath) {
+        emit simRemoved(oldPath);
+        d->simCard = ModemManager::Sim::Ptr();
+    }
+
+    if (!newPath.isEmpty()) {
+        d->simCard = ModemManager::Sim::Ptr(new ModemManager::Sim(newPath), &QObject::deleteLater);
+        emit simAdded(newPath);
+    }
+}
diff -pruN 1.0.1-2/src/modemdevice.h 5.2.2-0ubuntu1/src/modemdevice.h
--- 1.0.1-2/src/modemdevice.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemdevice.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,107 @@
+/*
+    Copyright 2013, 2014 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMDEVICE_H
+#define MODEMMANAGERQT_MODEMDEVICE_H
+
+#include <ModemManager/ModemManager.h>
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QVariant>
+#include <QSharedPointer>
+#include <QDBusObjectPath>
+
+#include "generictypes.h"
+#include "bearer.h"
+#include "interface.h"
+#include "modem.h"
+#include "modemmessaging.h"
+#include "sim.h"
+
+class ModemDevicePrivate;
+
+namespace ModemManager
+{
+class MODEMMANAGERQT_EXPORT ModemDevice : public QObject
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemDevice)
+
+    Q_PROPERTY(QString uni READ uni)
+public:
+    typedef QSharedPointer<ModemDevice> Ptr;
+    typedef QList<Ptr> List;
+
+    enum InterfaceType {
+        ModemInterface,
+        GsmInterface,
+        GsmUssdInterface,
+        CdmaInterface,
+        MessagingInterface,
+        LocationInterface,
+        TimeInterface,
+        FirmwareInterface,
+#if MM_CHECK_VERSION(1, 2, 0)
+        OmaInterface,
+        SignalInterface
+#endif
+    };
+
+    explicit ModemDevice(const QString &path, QObject *parent = 0);
+    explicit ModemDevice(ModemDevicePrivate &dd, QObject *parent = 0);
+    virtual ~ModemDevice();
+
+    QString uni() const;
+
+    bool hasInterface(InterfaceType type) const;
+    ModemManager::Interface::List interfaces() const;
+    ModemManager::Interface::Ptr interface(InterfaceType type) const;
+
+    ModemManager::ModemMessaging::Ptr messagingInterface();
+    ModemManager::Modem::Ptr modemInterface();
+
+    ModemManager::Bearer::Ptr findBearer(const QString &uni);
+    ModemManager::Bearer::List bearers() const;
+    ModemManager::Sim::Ptr sim() const;
+
+    bool isGsmModem() const;
+    bool isCdmaModem() const;
+
+private Q_SLOTS:
+    void onInterfacesAdded(const QDBusObjectPath &object_path, const NMVariantMapMap &interfaces_and_properties);
+    void onInterfacesRemoved(const QDBusObjectPath &object_path, const QStringList &interfaces);
+    void onSimPathChanged(const QString &oldPath, const QString &newPath);
+
+Q_SIGNALS:
+    void simAdded(const QString &udi);
+    void simRemoved(const QString &udi);
+
+    void bearerAdded(const QString &udi); // TODO emit these signals in the next version
+    void bearerRemoved(const QString &udi);
+
+private:
+    ModemDevicePrivate *const d_ptr;
+};
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemdevice_p.h 5.2.2-0ubuntu1/src/modemdevice_p.h
--- 1.0.1-2/src/modemdevice_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemdevice_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,57 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMDEVICE_P_H
+#define MODEMMANAGERQT_MODEMDEVICE_P_H
+
+#include <QObject>
+#include <QStringList>
+#include <QMap>
+
+#include "modemdevice.h"
+#include "interface.h"
+#include "bearer.h"
+#include "sim.h"
+
+class ModemDevicePrivate
+{
+public:
+    ModemDevicePrivate(const QString &path, ModemManager::ModemDevice *q);
+    virtual ~ModemDevicePrivate();
+    void init();
+    void initInterfaces();
+    QString introspect() const;
+    QString uni;
+    QMap<ModemManager::ModemDevice::InterfaceType, ModemManager::Interface::Ptr> interfaceList;
+    //QMap<QString, ModemManager::Bearer::Ptr> bearerList;
+    ModemManager::Sim::Ptr simCard;
+    ModemManager::Interface::List interfaces() ;
+    ModemManager::Interface::Ptr interface(ModemManager::ModemDevice::InterfaceType type);
+    ModemManager::Interface::Ptr createInterface(ModemManager::ModemDevice::InterfaceType type);
+    ModemManager::Bearer::Ptr findBearer(const QString &uni);
+    ModemManager::Bearer::List bearers();
+    ModemManager::Sim::Ptr sim();
+
+    Q_DECLARE_PUBLIC(ModemManager::ModemDevice)
+    ModemManager::ModemDevice *q_ptr;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemfirmware.cpp 5.2.2-0ubuntu1/src/modemfirmware.cpp
--- 1.0.1-2/src/modemfirmware.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemfirmware.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,49 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemfirmware.h"
+#include "modemfirmware_p.h"
+
+ModemFirmwarePrivate::ModemFirmwarePrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemFirmwareIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemFirmware::ModemFirmware(const QString &path, QObject *parent)
+    : Interface(*new ModemFirmwarePrivate(path), parent)
+{
+}
+
+ModemManager::ModemFirmware::~ModemFirmware()
+{
+}
+
+QDBusPendingReply<QString, QVariantMapList> ModemManager::ModemFirmware::listImages()
+{
+    Q_D(ModemFirmware);
+    return d->modemFirmwareIface.List();
+}
+
+void ModemManager::ModemFirmware::selectImage(const QString &uniqueid)
+{
+    Q_D(ModemFirmware);
+    d->modemFirmwareIface.Select(uniqueid);
+}
diff -pruN 1.0.1-2/src/modemfirmware.h 5.2.2-0ubuntu1/src/modemfirmware.h
--- 1.0.1-2/src/modemfirmware.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemfirmware.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,82 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMFIRMWARE_H
+#define MODEMMANAGERQT_MODEMFIRMWARE_H
+
+#include <modemmanagerqt_export.h>
+#include "interface.h"
+
+#include <QObject>
+#include <QSharedPointer>
+
+class ModemFirmwarePrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemFirmware class
+ *
+ * This class allows clients to select or install firmware images on modems.
+ *
+ * Firmware slots and firmware images are identified by arbitrary opaque strings.
+ *
+ * @since 1.1.94
+ */
+class MODEMMANAGERQT_EXPORT ModemFirmware: public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemFirmware)
+
+public:
+    typedef QSharedPointer<ModemFirmware> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit ModemFirmware(const QString &path, QObject *parent = 0);
+    ~ModemFirmware();
+
+    /**
+     * List installed firmware images.
+     *
+     * Depending on the type of modem, installed images may be stored on the host or the modem.
+     * Installed images can be selected non-destructively.
+     *
+     * @return @param selected (QString)
+     *         The unique name of the selected firmware image, or the empty string if no image is selected.
+     *         @param installed (QVariantMapList)
+     *         A map of dictionaries containing the properties of the installed firmware images.
+     */
+    QDBusPendingReply<QString, QVariantMapList> listImages();
+
+    /**
+     * Selects a different firmware image to use, and immediately resets the modem so that it
+     * begins using the new firmware image.
+     *
+     * The method will fail if the identifier does not match any of the names returned by listImages(),
+     * or if the image could not be selected for some reason.
+     *
+     * @param uniqueid The unique ID of the firmware image to select.
+     */
+    void selectImage(const QString &uniqueid);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemfirmware_p.h 5.2.2-0ubuntu1/src/modemfirmware_p.h
--- 1.0.1-2/src/modemfirmware_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemfirmware_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,34 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMFIRMWARE_P_H
+#define MODEMMANAGERQT_MODEMFIRMWARE_P_H
+
+#include "interface_p.h"
+#include "dbus/firmwareinterface.h"
+
+class ModemFirmwarePrivate: public InterfacePrivate
+{
+public:
+    explicit ModemFirmwarePrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemFirmwareInterface modemFirmwareIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modem.h 5.2.2-0ubuntu1/src/modem.h
--- 1.0.1-2/src/modem.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,451 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Daniel Nicoletti <dantti12@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEM_H
+#define MODEMMANAGERQT_MODEM_H
+
+#include <ModemManager/ModemManager.h>
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QVariant>
+#include <QSharedPointer>
+#include <QDBusObjectPath>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class ModemPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The Modem class
+ *
+ * The Modem interface controls the status and actions in a given modem object.
+ */
+class MODEMMANAGERQT_EXPORT Modem : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Modem)
+
+    Q_FLAGS(MMModemCapability)
+    Q_FLAGS(MMModemAccessTechnology)
+    Q_FLAGS(MMModemMode)
+    Q_FLAGS(MMBearerIpFamily)
+
+public:
+    Q_DECLARE_FLAGS(Capabilities, MMModemCapability)
+    Q_DECLARE_FLAGS(AccessTechnologies, MMModemAccessTechnology)
+    Q_DECLARE_FLAGS(ModemModes, MMModemMode)
+    Q_DECLARE_FLAGS(IpBearerFamilies, MMBearerIpFamily)
+
+    typedef QSharedPointer<Modem> Ptr;
+    typedef QList<Ptr> List;
+
+    struct BearerStruct {
+        QString apn; ///< Access Point Name, given as a string value. Required in 3GPP.
+        MMBearerIpFamily ipType; ///< Addressing type, given as a MMBearerIpFamily value. Optional in 3GPP and CDMA.
+        MMBearerAllowedAuth allowedAuth; ///< The authentication method to use, given as a MMBearerAllowedAuth value. Optional in 3GPP.
+        QString user; ///< User name (if any) required by the network, given as a string value. Optional in 3GPP.
+        QString password; ///< Password (if any) required by the network, given as a string value. Optional in 3GPP.
+        bool allowRoaming; ///< Flag to tell whether connection is allowed during roaming, given as a boolean value. Optional in 3GPP.
+        MMModemCdmaRmProtocol rmProtocol; ///< Protocol of the Rm interface, given as a MMModemCdmaRmProtocol value. Optional in CDMA.
+        QString number; ///< Telephone number to dial, given as a string value. Required in POTS.
+    };
+
+    explicit Modem(const QString &path, QObject *parent = 0 );
+    ~Modem();
+
+    QString uni() const;
+    /**
+     * @return @p true if the modem is fully functional, @p false when in low power mode or disabled
+     * @see setEnabled()
+     */
+    bool isEnabled() const;
+    bool isValid() const;
+
+    /**
+     * Enable or disable the modem.
+     *
+     * When enabled, the modem's radio is powered on and data sessions, voice calls, location services, and Short Message Service may be available.
+     *
+     * When disabled, the modem enters low-power state and no network-related operations are available.
+     */
+    void setEnabled(bool enable);
+
+    /**
+     * Create a new packet data bearer using the given characteristics.
+     *
+     * This request may fail if the modem does not support additional bearers, if too many bearers are already defined, or if properties are invalid.
+     *
+     * @return the path to the new bearer
+     */
+    QString createBearer(const BearerStruct &bearer);
+
+    /**
+     * Delete an existing packet data bearer.
+     *
+     * If the bearer is currently active and providing packet data server, it will be disconnected and that packet data service will terminate.
+     * @param bearer path to the bearer to delete
+     */
+    void deleteBearer(const QString &bearer);
+
+    /**
+     * @return the configured packet data bearers (EPS Bearers, PDP Contexts, or CDMA2000 Packet Data Sessions).
+     */
+    QStringList listBearers();
+
+    /**
+     * Clear non-persistent configuration and state, and return the device to a newly-powered-on state.
+     *
+     * This command may power-cycle the device.
+     */
+    void reset();
+
+    /**
+     * Clear the modem's configuration (including persistent configuration and state), and return the device to a factory-default state.
+     *
+     * If not required by the modem, @p code may be ignored.
+     *
+     * This command may or may not power-cycle the device.
+     * @param code Carrier-supplied code required to reset the modem.
+     */
+    void factoryReset(const QString &code);
+
+    /**
+     * Set the power @p state of the modem. This action can only be run when the modem is in MM_MODEM_STATE_DISABLED state.
+     */
+    void setPowerState(MMModemPowerState state);
+
+    /**
+     * Set the capabilities of the device. A restart of the modem may be required.
+     * @param caps QFlags of MMModemCapability values, to specify the capabilities to use.
+     */
+    void setCurrentCapabilities(Capabilities caps);
+
+    /**
+     * Set the access technologies (e.g. 2G/3G/4G preference) the device is currently allowed to use when connecting to a network.
+     *
+     * The given combination should be supported by the modem, as specified in supportedModes()
+     * @param mode
+     */
+    void setCurrentModes(const CurrentModesType &mode);
+
+    /**
+     * Set the radio frequency and technology bands the device is currently allowed to use when connecting to a network.
+     * @param bands List of MMModemBand values, to specify the bands to be used.
+     */
+    void setCurrentBands(const QList<MMModemBand> &bands);
+
+    QDBusPendingReply<QString> command(const QString &cmd, uint timeout);
+
+    /**
+     * @return The path of the SIM object available in this device, if any.
+     */
+    QString simPath() const;
+
+    /**
+     * @return List of MMModemCapability values, specifying the combinations of generic family of access technologies the modem supports.
+     *
+     * If the modem doesn't allow changing the current capabilities, a single entry with MM_MODEM_CAPABILITY_ANY will be given.
+     */
+    QList<MMModemCapability> supportedCapabilities() const;
+
+    /**
+     * @return QFlags of MMModemCapability values, specifying the generic family of
+     * access technologies the modem currently supports without a firmware
+     * reload or reinitialization.
+     */
+    Capabilities currentCapabilities() const;
+
+    /**
+     * @return The maximum number of defined packet data bearers the modem supports.
+     *
+     * 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.
+     */
+    uint maxBearers() const;
+
+    /**
+     * @return The maximum number of active packet data bearers the modem supports.
+     *
+     * 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.
+     */
+    uint maxActiveBearers() const;
+
+    /**
+     * @return The equipment manufacturer, as reported by the modem.
+     */
+    QString manufacturer() const;
+
+    /**
+     * @return The equipment model, as reported by the modem.
+     */
+    QString model() const;
+
+    /**
+     * @return The revision identification of the software, as reported by the modem.
+     */
+    QString revision() const;
+
+    /**
+     * @return A best-effort device identifier based on various device
+     * information like model name, firmware revision, USB/PCI/PCMCIA IDs, and
+     * other properties.
+     *
+     * 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.
+     *
+     * This is not the device's IMEI or ESN since those may not be available
+     * before unlocking the device via a PIN.
+     */
+    QString deviceIdentifier() const;
+
+    /**
+     * @return The physical modem device reference (ie, USB, PCI, PCMCIA device), which may be dependent upon the operating system.
+     *
+     * In Linux for example, this points to a sysfs path of the usb_device object.
+     */
+    QString device() const;
+
+    /**
+     * @return The Operating System device drivers handling communication with the modem hardware.
+     */
+    QStringList drivers() const;
+
+    /**
+     * @return The name of the plugin handling this modem.
+     */
+    QString plugin() const;
+
+    /**
+     * @return The name of the primary port using to control the modem.
+     */
+    QString primaryPort() const;
+
+    /**
+     * @return 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 MMModemPortType value.
+     *
+     * @since 1.1.94
+     */
+    PortList ports() const;
+
+    /**
+     * @return The identity of the device.
+     *
+     * This will be the IMEI number for GSM devices and the hex-format ESN/MEID for CDMA devices.
+     */
+    QString equipmentIdentifier() const;
+
+    /**
+     * @return Current lock state of the device, given as a MMModemLock value.
+     */
+    MMModemLock unlockRequired() const;
+
+    /**
+     * @return A dictionary in which the keys are MMModemLock 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.
+     */
+    UnlockRetriesMap unlockRetries() const;
+
+    /**
+     * @return Overall state of the modem, given as a MMModemState value.
+     *
+     * If the device's state cannot be determined, MM_MODEM_STATE_UNKNOWN will be reported.
+     */
+    MMModemState state() const;
+
+    /**
+     * @return Error specifying why the modem is in MM_MODEM_STATE_FAILED state, given as a MMModemStateFailedReason value.
+     */
+    MMModemStateFailedReason stateFailedReason() const;
+
+    /**
+     * @return QFlags of MMModemAccessTechnology values, specifying the current
+     * network access technologies used by the device to communicate with the
+     * network.
+     *
+     * If the device's access technology cannot be determined, MM_MODEM_ACCESS_TECHNOLOGY_UNKNOWN will be reported.
+     */
+    AccessTechnologies accessTechnologies() const;
+
+    /**
+     * @return 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.
+     *
+     * The additional boolean value indicates if the quality value given was recently taken.
+     */
+    SignalQualityPair signalQuality() const;
+
+    /**
+     * @return List of numbers (e.g. MSISDN in 3GPP) being currently handled by this modem.
+     */
+    QStringList ownNumbers() const;
+
+    /**
+     * @return A MMModemPowerState value specifying the current power state of the modem.
+     */
+    MMModemPowerState powerState() const;
+
+    /**
+     * @return This property exposes the supported mode combinations, given as an list of unsigned integer pairs, where:
+     * The first integer is a bitmask of MMModemMode values, specifying the allowed modes.
+     * The second integer is a single MMModemMode, which specifies the preferred access technology, among the ones defined in the allowed modes.
+     */
+    SupportedModesType supportedModes() const;
+
+    /**
+     * @return A pair of MMModemMode 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.
+     *
+     * The pair must be one of those specified in supportedModes()
+     */
+    CurrentModesType currentModes() const;
+
+    /**
+     * @return List of MMModemBand values, specifying the radio frequency and technology bands supported by the device.
+     *
+     * For POTS devices, only the MM_MODEM_BAND_ANY mode will be returned.
+     */
+    QList<MMModemBand> supportedBands() const;
+
+    /**
+     * @return List of MMModemBand values, specifying the radio frequency and
+     * technology bands the device is currently using when connecting to a
+     * network.
+     *
+     * It must be a subset of supportedBands()
+     */
+    QList<MMModemBand> currentBands() const;
+
+    /**
+     * @return QFlags of MMBearerIpFamily values, specifying the IP families supported by the device.
+     */
+    IpBearerFamilies supportedIpFamilies() const;
+
+
+    // From org.freedesktop.ModemManager.Modem.Simple
+
+    /**
+     * Dictionary of properties needed to get the modem connected.
+     * Each implementation is free to add its own specific key-value pairs. The predefined
+     * common ones are:
+     *
+     * @param pin SIM-PIN unlock code, given as a string value (signature "s").
+     * @param operator-id ETSI MCC-MNC of a network to force registration with, given as a string value (signature "s").
+     * @param apn For GSM/UMTS and LTE devices the APN to use, given as a string value (signature "s").
+     * @param ip-type For GSM/UMTS and LTE devices the IP addressing type to use, given as a MMBearerIpFamily value (signature "u").
+     * @param allowed-auth The authentication method to use, given as a MMBearerAllowedAuth value (signature "u"). Optional in 3GPP.
+     * @param user User name (if any) required by the network, given as a string value (signature "s"). Optional in 3GPP.
+     * @param password Password (if any) required by the network, given as a string value (signature "s"). Optional in 3GPP.
+     * @param number For POTS devices the number to dial,, given as a string value (signature "s").
+     * @param allow-roaming FALSE to allow only connections to home networks, given as a boolean value (signature "b").
+     * @param rm-protocol For CDMA devices, the protocol of the Rm interface, given as a MMModemCdmaRmProtocol value (signature "u").
+     *
+     * @return On successful connect, returns the object path of the connected packet data bearer used for the connection attempt.
+    */
+    QDBusObjectPath connectModem(const QVariantMap &properties);
+
+    /**
+     *  Dictionary of properties.
+     *  Each implementation is free to add it's own specific key-value pairs. The predefined
+     *  common ones are:
+     *
+     * @param state A MMModemState value specifying the overall state of the modem, given as an unsigned integer value (signature "u").
+     * @param signal-quality Signal quality value, given only when registered, as an unsigned integer value (signature "u").
+     * @param current-bands List of MMModemBand values, given only when registered, as a list of unsigned integer values (signature "au").
+     * @param access-technology A MMModemAccessTechnology value, given only when registered, as an unsigned integer value (signature "u").
+     * @param m3gpp-registration-state A MMModem3gppRegistrationState value specifying the state of the registration,
+     *   given only when registered in a 3GPP network, as an unsigned integer value (signature "u").
+     * @param m3gpp-operator-code Operator MCC-MNC, given only when registered in a 3GPP network, as a string value (signature "s").
+     * @param m3gpp-operator-name Operator name, given only when registered in a 3GPP network, as a string value (signature "s").
+     * @param cdma-cdma1x-registration-state A MMModemCdmaRegistrationState value specifying the state of the registration,
+     *   given only when registered in a CDMA1x network, as an unsigned integer value (signature "u").
+     * @param cdma-evdo-registration-state A MMModemCdmaRegistrationState value specifying the state of the registration,
+     *   given only when registered in a EV-DO network, as an unsigned integer value (signature "u").
+     * @param cdma-sid The System Identifier of the serving network, if registered in a CDMA1x network and if known.
+     *   Given as an unsigned integer value (signature "u").
+     * @param cdma-nid The Network Identifier of the serving network, if registered in a CDMA1x network and if known.
+     *   Given as an unsigned integer value (signature "u").
+    */
+    QVariantMap status();
+
+    void disconnectModem(const QString &bearer);
+    void disconnectAllModems();
+
+Q_SIGNALS:
+    void deviceChanged(const QString &device);
+    void driversChanged(const QStringList &drivers);
+    void enabledChanged(bool enabled);
+    void unlockRequiredChanged(MMModemLock lock);
+    /**
+     * The modem's state (see state()) changed.
+     */
+    void stateChanged(MMModemState oldState, MMModemState newState, MMModemStateChangeReason reason);
+    void signalQualityChanged(uint percentStrength);
+    void accessTechnologyChanged(ModemManager::Modem::AccessTechnologies tech);
+    void currentModesChanged();
+    void simPathChanged(const QString &oldPath, const QString &newPath);
+    /**
+     * Emitted when the modem's power state changes
+     * @param state the new state
+     * @see powerState()
+     */
+    void powerStateChanged(MMModemPowerState state);
+    /**
+     * Emitted when the list of bearers changed
+     * @since 1.1.90
+     */
+    void bearersChanged();
+
+private Q_SLOTS:
+    void onPropertiesChanged(const QString &ifaceName, const QVariantMap &changedProps, const QStringList &invalidatedProps);
+    void onStateChanged(int oldState, int newState, uint reason);
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::Capabilities)
+Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::AccessTechnologies)
+Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::ModemModes)
+Q_DECLARE_OPERATORS_FOR_FLAGS(Modem::IpBearerFamilies)
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemlocation.cpp 5.2.2-0ubuntu1/src/modemlocation.cpp
--- 1.0.1-2/src/modemlocation.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemlocation.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,125 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemlocation.h"
+#include "modemlocation_p.h"
+#include "dbus/dbus.h"
+#include "mmdebug.h"
+
+ModemLocationPrivate::ModemLocationPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemLocationIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemLocation::ModemLocation(const QString &path, QObject *parent)
+    : Interface(*new ModemLocationPrivate(path), parent)
+{
+    Q_D(ModemLocation);
+
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, d->uni, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+}
+
+ModemManager::ModemLocation::~ModemLocation()
+{
+}
+
+void ModemManager::ModemLocation::onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps)
+{
+    Q_UNUSED(invalidatedProps);
+    mmDebug() << interface << properties.keys();
+
+    if (interface == QString(MM_DBUS_INTERFACE_MODEM_LOCATION)) {
+        QLatin1String capabilities(MM_MODEM_LOCATION_PROPERTY_CAPABILITIES);
+        QLatin1String enabled(MM_MODEM_LOCATION_PROPERTY_ENABLED);
+        QLatin1String signalsLocation(MM_MODEM_LOCATION_PROPERTY_SIGNALSLOCATION);
+        QLatin1String location(MM_MODEM_LOCATION_PROPERTY_LOCATION);
+
+        QVariantMap::const_iterator it = properties.constFind(capabilities);
+        if ( it != properties.constEnd()) {
+            emit capabilitiesChanged((ModemManager::ModemLocation::LocationSources)it->toUInt());
+        }
+        it = properties.constFind(enabled);
+        if ( it != properties.constEnd()) {
+            emit isEnabledChanged(it->toBool());
+        }
+        it = properties.constFind(signalsLocation);
+        if ( it != properties.constEnd()) {
+            emit signalsLocationChanged(it->toBool());
+        }
+        it = properties.constFind(location);
+        if ( it != properties.constEnd()) {
+            QVariant v = it.value();  // FIXME demarshall properly
+            LocationInformationMap map;
+            if (v.canConvert<LocationInformationMap>()) {
+                map = v.value<LocationInformationMap>();
+            } else {
+                mmDebug() << "Error converting LocationInformationMap property";
+            }
+            emit locationChanged(map);
+        }
+    }
+}
+
+void ModemManager::ModemLocation::setup(ModemManager::ModemLocation::LocationSources sources, bool signalLocation)
+{
+    Q_D(ModemLocation);
+    d->modemLocationIface.Setup(sources, signalLocation);
+}
+
+LocationInformationMap ModemManager::ModemLocation::location()
+{
+    Q_D(ModemLocation);
+    QDBusReply<LocationInformationMap> location = d->modemLocationIface.GetLocation();
+
+    if (location.isValid()) {
+        return location.value();
+    }
+
+    return LocationInformationMap();
+}
+
+ModemManager::ModemLocation::LocationSources ModemManager::ModemLocation::capabilities() const
+{
+    Q_D(const ModemLocation);
+    return (LocationSources)d->modemLocationIface.capabilities();
+}
+
+ModemManager::ModemLocation::LocationSources ModemManager::ModemLocation::enabledCapabilities() const
+{
+    Q_D(const ModemLocation);
+    return (LocationSources)d->modemLocationIface.enabled();
+}
+
+bool ModemManager::ModemLocation::isEnabled() const
+{
+    Q_D(const ModemLocation);
+    return d->modemLocationIface.enabled() > MM_MODEM_LOCATION_SOURCE_NONE;
+}
+
+bool ModemManager::ModemLocation::signalsLocation() const
+{
+    Q_D(const ModemLocation);
+    return d->modemLocationIface.signalsLocation();
+}
diff -pruN 1.0.1-2/src/modemlocation.h 5.2.2-0ubuntu1/src/modemlocation.h
--- 1.0.1-2/src/modemlocation.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemlocation.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,123 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMLOCATION_H
+#define MODEMMANAGERQT_MODEMLOCATION_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class ModemLocationPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemLocation class
+ *
+ * The Location class 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.
+ */
+class MODEMMANAGERQT_EXPORT ModemLocation : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemLocation)
+    Q_FLAGS(MMModemLocationSource)
+
+public:
+    typedef QSharedPointer<ModemLocation> Ptr;
+    typedef QList<Ptr> List;
+
+    Q_DECLARE_FLAGS(LocationSources, MMModemLocationSource)
+
+    explicit ModemLocation(const QString &path, QObject *parent = 0);
+    ~ModemLocation();
+
+    /**
+     * 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.
+     *
+     * 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
+     * @p signLocation argument can be set to FALSE to disable location updates
+     * via the locationChanged() signal and require applications to call authenticated APIs
+     * (like GetLocation() ) to get location information.
+     */
+    void setup(ModemManager::ModemLocation::LocationSources sources, bool signalLocation);
+
+    /**
+     * @return current location information, if any. If the modem supports
+     * multiple location types it may return more than one. See the "Location"
+     * property for more information on the dictionary returned at location.
+     *
+     * This method may require the client to authenticate itself.
+     */
+    LocationInformationMap location(); // TODO process this better
+
+    /**
+     * @return QFlags of MMModemLocationSource values, specifying the supported location sources.
+     */
+    LocationSources capabilities() const;
+
+    /**
+     * @return QFlags specifying which of the supported MMModemLocationSource location sources is currently enabled in the device.
+     */
+    LocationSources enabledCapabilities() const;
+
+    /**
+     * @return whether the device has any location capabilities
+     */
+    bool isEnabled() const;
+
+    /**
+     * @return TRUE if location updates will be emitted via the locationChanged() signal, FALSE if location updates will not be emitted.
+     *
+     * See the setup() method for more information.
+     */
+    bool signalsLocation() const;
+
+Q_SIGNALS:
+    void capabilitiesChanged(LocationSources sources);
+    void isEnabledChanged(bool enabled);
+    void signalsLocationChanged(bool signalsLocation);
+    /**
+     * Emitted when the location has changed
+     */
+    void locationChanged(const LocationInformationMap &location);
+
+private Q_SLOTS:
+   void onPropertiesChanged(const QString &interface, const QVariantMap &properties, const QStringList &invalidatedProps);
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS(ModemLocation::LocationSources)
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemlocation_p.h 5.2.2-0ubuntu1/src/modemlocation_p.h
--- 1.0.1-2/src/modemlocation_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemlocation_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,36 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMLOCATION_P_H
+#define MODEMMANAGERQT_MODEMLOCATION_P_H
+
+#include "interface_p.h"
+#include "dbus/locationinterface.h"
+
+class ModemLocationPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemLocationPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemLocationInterface modemLocationIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemmessaging.cpp 5.2.2-0ubuntu1/src/modemmessaging.cpp
--- 1.0.1-2/src/modemmessaging.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemmessaging.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,195 @@
+/*
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemmessaging.h"
+#include "modemmessaging_p.h"
+
+#include "dbus/dbus.h"
+#include "mmdebug.h"
+
+#include "sms.h"
+#include <ModemManager/ModemManager.h>
+
+ModemMessagingPrivate::ModemMessagingPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemMessagingIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemMessaging::ModemMessaging(const QString &path, QObject *parent)
+    : Interface(*new ModemMessagingPrivate(path), parent)
+{
+    Q_D(ModemMessaging);
+
+    QList<MMSmsStorage> storages;
+    foreach (uint storage, d->modemMessagingIface.supportedStorages()) {
+        storages.append((MMSmsStorage)storage);
+    }
+    d->supportedStorages = storages;
+    d->defaultStorage = (MMSmsStorage) d->modemMessagingIface.defaultStorage();
+
+    connect(&d->modemMessagingIface, &OrgFreedesktopModemManager1ModemMessagingInterface::Added, this, &ModemMessaging::onMessageAdded);
+    connect(&d->modemMessagingIface, &OrgFreedesktopModemManager1ModemMessagingInterface::Deleted, this, &ModemMessaging::onMessageDeleted);
+
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+
+    QList <QDBusObjectPath> messages = d->modemMessagingIface.messages();
+    foreach (const QDBusObjectPath &op, messages) {
+        const QString path = op.path();
+        d->messageList.insert(path, ModemManager::Sms::Ptr());
+        emit messageAdded(path, false);
+    }
+}
+
+ModemManager::ModemMessaging::~ModemMessaging()
+{
+}
+
+ModemManager::Sms::Ptr ModemMessagingPrivate::findMessage(const QString &uni)
+{
+    ModemManager::Sms::Ptr sms;
+    if (messageList.contains(uni)) {
+        if (messageList.value(uni)) {
+            sms = messageList.value(uni);
+        } else {
+            sms = ModemManager::Sms::Ptr(new ModemManager::Sms(uni), &QObject::deleteLater);
+            messageList[uni] = sms;
+        }
+    }
+    return sms;
+}
+
+ModemManager::Sms::List ModemMessagingPrivate::ModemMessagingPrivate::messages()
+{
+    ModemManager::Sms::List list;
+
+    QMap<QString, ModemManager::Sms::Ptr>::const_iterator i;
+    for (i = messageList.constBegin(); i != messageList.constEnd(); ++i) {
+        ModemManager::Sms::Ptr sms = findMessage(i.key());
+        if (sms) {
+            list.append(sms);
+        } else {
+            qWarning() << "warning: null message for" << i.key();
+        }
+    }
+
+    return list;
+}
+
+void ModemManager::ModemMessaging::onPropertiesChanged(const QString &interfaceName, const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
+{
+    Q_UNUSED(invalidatedProperties);
+    if (interfaceName == QString(MM_DBUS_INTERFACE_MODEM_MESSAGING)) {
+        QLatin1String supportedStorages(MM_MODEM_MESSAGING_PROPERTY_SUPPORTEDSTORAGES);
+        QLatin1String defaultStorage(MM_MODEM_MESSAGING_PROPERTY_DEFAULTSTORAGE);
+
+        Q_D(ModemMessaging);
+
+        QVariantMap::const_iterator it = changedProperties.constFind(supportedStorages);
+        if (it != changedProperties.constEnd()) {
+            QList<MMSmsStorage> storages;
+            foreach (uint storage, it->value<UIntList>()) {
+                storages.append((MMSmsStorage)storage);
+            }
+            d->supportedStorages = storages;
+        }
+        it = changedProperties.constFind(defaultStorage);
+        if (it != changedProperties.constEnd()) {
+            d->defaultStorage = (MMSmsStorage) it->toInt();
+        }
+    }
+}
+
+void ModemManager::ModemMessaging::onMessageAdded(const QDBusObjectPath &path, bool received)
+{
+    Q_D(ModemMessaging);
+    d->messageList.insert(path.path(), ModemManager::Sms::Ptr());
+    emit messageAdded(path.path(), received);
+}
+
+void ModemManager::ModemMessaging::onMessageDeleted(const QDBusObjectPath &path)
+{
+    Q_D(ModemMessaging);
+    d->messageList.remove(path.path());
+    emit messageDeleted(path.path());
+}
+
+QList<MMSmsStorage> ModemManager::ModemMessaging::supportedStorages() const
+{
+    Q_D(const ModemMessaging);
+    return d->supportedStorages;
+}
+
+MMSmsStorage ModemManager::ModemMessaging::defaultStorage() const
+{
+    Q_D(const ModemMessaging);
+    return d->defaultStorage;
+}
+
+ModemManager::Sms::List ModemManager::ModemMessaging::messages()
+{
+    Q_D(ModemMessaging);
+    return d->messages();
+}
+
+QString ModemManager::ModemMessaging::createMessage(const Message &message)
+{
+    QVariantMap map;
+    map.insert("number", message.number);
+    map.insert("text", message.text);
+    map.insert("data", message.data);
+
+    return createMessage(map);
+}
+
+QString ModemManager::ModemMessaging::createMessage(const QVariantMap& message)
+{
+    Q_D(ModemMessaging);
+
+    if (!message.contains("number") || (!message.contains("text") && !message.contains("data"))) {
+        mmDebug() << "Unable to create message, missing some property";
+        return QString();
+    }
+
+    QDBusReply<QDBusObjectPath> msgPath = d->modemMessagingIface.Create(message);
+    if (msgPath.isValid()) {
+        const QString path = msgPath.value().path();
+        ModemManager::Sms::Ptr msg = ModemManager::Sms::Ptr(new ModemManager::Sms(path), &QObject::deleteLater);
+        d->messageList.insert(path, msg);
+        return path;
+    }
+
+    return QString();
+}
+
+void ModemManager::ModemMessaging::deleteMessage(const QString &uni)
+{
+    Q_D(ModemMessaging);
+    d->modemMessagingIface.Delete(QDBusObjectPath(uni));
+}
+
+ModemManager::Sms::Ptr ModemManager::ModemMessaging::findMessage(const QString& uni)
+{
+    Q_D(ModemMessaging);
+    return d->findMessage(uni);
+}
diff -pruN 1.0.1-2/src/modemmessaging.h 5.2.2-0ubuntu1/src/modemmessaging.h
--- 1.0.1-2/src/modemmessaging.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemmessaging.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,135 @@
+/*
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMMESSAGING_H
+#define MODEMMANAGERQT_MODEMMESSAGING_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "sms.h"
+#include "generictypes.h"
+#include "interface.h"
+
+class ModemMessagingPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemMessaging class
+ *
+ * The Messaging interface handles sending SMS messages and notification of new incoming messages.
+ */
+class MODEMMANAGERQT_EXPORT ModemMessaging : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemMessaging)
+
+public:
+    struct Message {
+        QString number;
+        QString text;
+        QByteArray data;
+    };
+
+    typedef QSharedPointer<ModemMessaging> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit ModemMessaging(const QString &path, QObject *parent = 0);
+    ~ModemMessaging();
+
+    /**
+     * @return A list of MMSmsStorage values, specifying the storages supported by this
+     * modem for storing and receiving SMS.
+     */
+    QList<MMSmsStorage> supportedStorages() const;
+
+    /**
+     * @return A MMSmsStorage value, specifying the storage to be used when receiving or storing SMS.
+     */
+    MMSmsStorage defaultStorage() const;
+
+    /**
+     * Retrieve all SMS messages.
+     *
+     * This method should only be used once and subsequent information retrieved
+     * either by listening for the messageAdded() signal, or by
+     * querying the specific SMS object of interest using findMessage()
+     */
+    ModemManager::Sms::List messages();
+
+    /**
+     * Creates a new message object.
+     * @param message Message structure with the 'number' and either 'text' or 'data' properties
+     */
+    QString createMessage(const Message &message);
+    /**
+     * Creates a new message object.
+     * @param message QVariantMap containing message properties
+     * The 'number' and either 'text' or 'data' properties are mandatory, others are optional.
+     */
+    QString createMessage(const QVariantMap &message);
+
+    /**
+     * Delete an SMS message.
+     *
+     * @param uni path to the Sms object
+     */
+    void deleteMessage(const QString &uni);
+
+    /**
+     * @param uni path to the Sms object
+     * @return pointer to the found Sms (may be null if not found)
+     */
+    ModemManager::Sms::Ptr findMessage(const QString &uni);
+
+private Q_SLOTS:
+    void onPropertiesChanged(const QString &interface, const QVariantMap &changedProperties, const QStringList &invalidatedProps);
+    void onMessageAdded(const QDBusObjectPath &path, bool received);
+    void onMessageDeleted(const QDBusObjectPath &path);
+
+Q_SIGNALS:
+    /**
+     * 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.
+     *
+     * Check the 'State' property to determine if the message is complete.
+     *
+     * @param uni path to the Sms object
+     * @param received @p true if the message was received from the network, as opposed to being added locally.
+     */
+    void messageAdded(const QString &uni, bool received);
+
+    /**
+     * Emitted when a message has been deleted.
+     * @param uni path to the Sms object
+     */
+    void messageDeleted(const QString &uni);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemmessaging_p.h 5.2.2-0ubuntu1/src/modemmessaging_p.h
--- 1.0.1-2/src/modemmessaging_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemmessaging_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,43 @@
+/*
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_MODEMMESSAGING_P_H
+#define MODEMMANAGER_MODEMMESSAGING_P_H
+
+#include "interface_p.h"
+#include "dbus/messaginginterface.h"
+#include "sms.h"
+
+class ModemMessagingPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemMessagingPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemMessagingInterface modemMessagingIface;
+
+    QMap<QString, ModemManager::Sms::Ptr> messageList;
+    QList<MMSmsStorage> supportedStorages;
+    MMSmsStorage defaultStorage;
+    ModemManager::Sms::Ptr findMessage(const QString &uni);
+    ModemManager::Sms::List messages();
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemoma.cpp 5.2.2-0ubuntu1/src/modemoma.cpp
--- 1.0.1-2/src/modemoma.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemoma.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,88 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemoma.h"
+#include "modemoma_p.h"
+#include "mmdebug.h"
+#include "dbus/dbus.h"
+
+ModemOmaPrivate::ModemOmaPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , omaIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemOma::ModemOma(const QString &path, QObject *parent)
+    : Interface(*new ModemOmaPrivate(path), parent)
+{
+}
+
+ModemManager::ModemOma::~ModemOma()
+{
+}
+
+ModemManager::ModemOma::Features ModemManager::ModemOma::features() const
+{
+    Q_D(const ModemOma);
+
+    return (Features)d->omaIface.features();
+}
+
+OmaSessionTypes ModemManager::ModemOma::pendingNetworkInitiatedSessions() const
+{
+    OmaSessionTypes result;
+    return result;  // TODO
+}
+
+MMOmaSessionType ModemManager::ModemOma::sessionType() const
+{
+    Q_D(const ModemOma);
+    return (MMOmaSessionType)d->omaIface.sessionType();
+}
+
+MMOmaSessionState ModemManager::ModemOma::sessionState() const
+{
+    Q_D(const ModemOma);
+    return (MMOmaSessionState)d->omaIface.sessionState();
+}
+
+void ModemManager::ModemOma::setup(Features features)
+{
+    Q_D(ModemOma);
+    d->omaIface.Setup((uint)features);
+}
+
+void ModemManager::ModemOma::startClientInitiatedSession(MMOmaSessionType sessionType)
+{
+    Q_D(ModemOma);
+    d->omaIface.StartClientInitiatedSession((uint)sessionType);
+}
+
+void ModemManager::ModemOma::acceptNetworkInitiatedSession(uint sessionId, bool accept)
+{
+    Q_D(ModemOma);
+    d->omaIface.AcceptNetworkInitiatedSession(sessionId, accept);
+}
+
+void ModemManager::ModemOma::cancelSession()
+{
+    Q_D(ModemOma);
+    d->omaIface.CancelSession();
+}
diff -pruN 1.0.1-2/src/modemoma.h 5.2.2-0ubuntu1/src/modemoma.h
--- 1.0.1-2/src/modemoma.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemoma.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,126 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMOMA_H
+#define MODEMMANAGERQT_MODEMOMA_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "generictypes.h"
+#include "interface.h"
+
+class ModemOmaPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemManager Open Mobile Alliance interface.
+ *
+ * This interface allows clients to handle device management operations as specified by the Open Mobile Alliance (OMA).
+ *
+ * Device management sessions are either on-demand (client-initiated), or automatically initiated by either the device
+ * itself or the network.
+ *
+ * @since 1.1.92
+ */
+class MODEMMANAGERQT_EXPORT ModemOma : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemOma)
+    Q_FLAGS(MMOmaFeature)
+
+public:
+    typedef QSharedPointer<ModemOma> Ptr;
+    typedef QList<Ptr> List;
+
+    Q_DECLARE_FLAGS(Features, MMOmaFeature)
+
+    explicit ModemOma(const QString &path, QObject *parent = 0);
+    ~ModemOma();
+
+    // properties
+    /**
+     * @return MMOmaFeature flags, specifying which device management features are enabled or disabled
+     */
+    Features features() const;
+
+    /**
+     * @return list of network-initiated sessions which are waiting to be accepted or rejected, where:
+     * @param the first integer is a MMOmaSessionType
+     * @param the second integer is the unique session ID.
+     */
+    OmaSessionTypes pendingNetworkInitiatedSessions() const;
+
+    /**
+     * @return type of the current on-going device management session, given as a MMOmaSessionType
+     */
+    MMOmaSessionType sessionType() const;
+
+    /**
+     * @return state of the current on-going device management session, given as a MMOmaSessionState
+     */
+    MMOmaSessionState sessionState() const;
+
+    //methods
+    /**
+     * Configures which OMA device management features should be enabled.
+     *
+     * @param features MMModemOmaFeature flags, specifying which device management features should get enabled or disabled.
+     * MM_OMA_FEATURE_NONE will disable all features.
+     */
+    void setup(Features features);
+
+    /**
+     * Starts a client-initiated device management session.
+     *
+     * @param sessionType type of client-initiated device management session,given as a MMOmaSessionType
+     */
+    void startClientInitiatedSession(MMOmaSessionType sessionType);
+
+    /**
+     * Accepts or rejects a network-initiated device management session.
+     *
+     * @param sessionId unique ID of the network-initiated device management session
+     * @param accept boolean specifying whether the session is accepted or rejected
+     */
+    void acceptNetworkInitiatedSession(uint sessionId, bool accept);
+
+    /**
+     * Cancels the current on-going device management session.
+     */
+    void cancelSession();
+
+Q_SIGNALS:
+    /**
+     * Emitted when the session state changed.
+     *
+     * @param oldState previous session state, given as a MMOmaSessionState
+     * @param newState current session state, given as a MMOmaSessionState
+     * @param failedReason reason of failure, given as a MMOmaSessionStateFailedReason, if sessionState() is MM_OMA_SESSION_STATE_FAILED
+     */
+    void sessionStateChanged(MMOmaSessionState oldState, MMOmaSessionState newState, MMOmaSessionStateFailedReason failedReason);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemoma_p.h 5.2.2-0ubuntu1/src/modemoma_p.h
--- 1.0.1-2/src/modemoma_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemoma_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,34 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMOMA_P_H
+#define MODEMMANAGERQT_MODEMOMA_P_H
+
+#include "dbus/omainterface.h"
+#include "interface_p.h"
+
+class ModemOmaPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemOmaPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemOmaInterface omaIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modem_p.h 5.2.2-0ubuntu1/src/modem_p.h
--- 1.0.1-2/src/modem_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modem_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,42 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEM_P_H
+#define MODEMMANAGERQT_MODEM_P_H
+
+#include "dbus/modeminterface.h"
+#include "dbus/simpleinterface.h"
+
+#include "interface_p.h"
+
+class ModemPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemInterface modemIface;
+    OrgFreedesktopModemManager1ModemSimpleInterface modemSimpleIface;
+    QString device;
+    QStringList drivers;
+    QString simPath;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemsignal.cpp 5.2.2-0ubuntu1/src/modemsignal.cpp
--- 1.0.1-2/src/modemsignal.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemsignal.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,79 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemsignal.h"
+#include "modemsignal_p.h"
+
+ModemSignalPrivate::ModemSignalPrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemSignalIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemSignal::ModemSignal(const QString &path, QObject *parent)
+    : Interface(*new ModemSignalPrivate(path), parent)
+{
+}
+
+ModemManager::ModemSignal::~ModemSignal()
+{
+}
+
+uint ModemManager::ModemSignal::rate() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.rate();
+}
+
+QVariantMap ModemManager::ModemSignal::cdma() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.cdma();
+}
+
+QVariantMap ModemManager::ModemSignal::evdo() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.evdo();
+}
+
+QVariantMap ModemManager::ModemSignal::gsm() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.gsm();
+}
+
+QVariantMap ModemManager::ModemSignal::lte() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.lte();
+}
+
+QVariantMap ModemManager::ModemSignal::umts() const
+{
+    Q_D(const ModemSignal);
+    return d->modemSignalIface.umts();
+}
+
+void ModemManager::ModemSignal::setup(uint rate)
+{
+    Q_D(ModemSignal);
+    d->modemSignalIface.Setup(rate);
+}
diff -pruN 1.0.1-2/src/modemsignal.h 5.2.2-0ubuntu1/src/modemsignal.h
--- 1.0.1-2/src/modemsignal.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemsignal.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,116 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMSIGNAL_H
+#define MODEMMANAGERQT_MODEMSIGNAL_H
+
+#include <modemmanagerqt_export.h>
+#include "interface.h"
+
+#include <QObject>
+#include <QSharedPointer>
+
+class ModemSignalPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemSignal class
+ *
+ * This class provides access to extended signal quality information.
+ *
+ * @since 1.1.94
+ */
+class MODEMMANAGERQT_EXPORT ModemSignal: public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemSignal)
+
+public:
+    typedef QSharedPointer<ModemSignal> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit ModemSignal(const QString &path, QObject *parent = 0);
+    ~ModemSignal();
+
+    /**
+     * @return refresh rate for the extended signal quality information updates, in seconds.
+     * A value of 0 disables the retrieval of the values.
+     */
+    uint rate() const;
+
+    /**
+     * @return Dictionary of available signal information for the CDMA1x access technology.
+     *
+     * This dictionary is composed of a string key, with an associated data which contains type-specific information.
+     * @param rssi The CDMA1x RSSI (Received Signal Strength Indication), in dBm, given as a floating point value (signature "d").
+     * @param ecio The CDMA1x Ec/Io, in dBm, given as a floating point value (signature "d").
+     */
+    QVariantMap cdma() const;
+
+    /**
+     * @return Dictionary of available signal information for the CDMA EV-DO access technology.
+     *
+     * This dictionary is composed of a string key, with an associated data which contains type-specific information.
+     * @param rssi The CDMA EV-DO RSSI (Received Signal Strength Indication), in dBm, given as a floating point value (signature "d").
+     * @param ecio The CDMA EV-DO Ec/Io, in dBm, given as a floating point value (signature "d").
+     * @param sinr CDMA EV-DO SINR level, in dB, given as a floating point value (signature "d").
+     * @param io The CDMA EV-DO Io, in dBm, given as a floating point value (signature "d").
+     */
+    QVariantMap evdo() const;
+
+    /**
+     * @return Dictionary of available signal information for the GSM/GPRS access technology.
+     *
+     * This dictionary is composed of a string key, with an associated data which contains type-specific information.
+     * @param rssi The GSM RSSI (Received Signal Strength Indication), in dBm, given as a floating point value (signature "d").
+     */
+    QVariantMap gsm() const;
+
+    /**
+     * @return Dictionary of available signal information for the UMTS (WCDMA) access technology.
+     *
+     * This dictionary is composed of a string key, with an associated data which contains type-specific information.
+     * @param rssi The LTE RSSI (Received Signal Strength Indication), in dBm, given as a floating point value (signature "d").
+     * @param rsrq The LTE RSRQ (Reference Signal Received Quality), in dB, given as a floating point value (signature "d").
+     * @param rsrp The LTE RSRP (Reference Signal Received Power), in dBm, given as a floating point value (signature "d").
+     * @param snr The LTE S/R ratio, in dB, given as a floating point value (signature "d").
+     */
+    QVariantMap lte() const;
+
+    /**
+     * @return Dictionary of available signal information for the UMTS (WCDMA) access technology.
+     *
+     * This dictionary is composed of a string key, with an associated data which contains type-specific information.
+     * @param rssi The UMTS RSSI (Received Signal Strength Indication), in dBm, given as a floating point value (signature "d").
+     * @param ecio The UMTS Ec/Io, in dBm, given as a floating point value (signature "d").
+     */
+    QVariantMap umts() const;
+
+    /**
+     * Setup extended signal quality information retrieval.
+     * @param rate refresh rate to set, in seconds. 0 to disable retrieval.
+     */
+    void setup(uint rate);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemsignal_p.h 5.2.2-0ubuntu1/src/modemsignal_p.h
--- 1.0.1-2/src/modemsignal_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemsignal_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,34 @@
+/*
+    Copyright 2014 Lukas Tinkl <ltinkl@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMSIGNAL_P_H
+#define MODEMMANAGERQT_MODEMSIGNAL_P_H
+
+#include "interface_p.h"
+#include "dbus/signalinterface.h"
+
+class ModemSignalPrivate: public InterfacePrivate
+{
+public:
+    explicit ModemSignalPrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemSignalInterface modemSignalIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/modemtime.cpp 5.2.2-0ubuntu1/src/modemtime.cpp
--- 1.0.1-2/src/modemtime.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemtime.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,78 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "modemtime.h"
+#include "modemtime_p.h"
+#include "mmdebug.h"
+
+ModemTimePrivate::ModemTimePrivate(const QString &path)
+    : InterfacePrivate(path)
+    , modemTimeIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::ModemTime::ModemTime(const QString &path, QObject *parent)
+    : Interface(*new ModemTimePrivate(path), parent)
+{
+    Q_D(ModemTime);
+
+    connect(&d->modemTimeIface, &OrgFreedesktopModemManager1ModemTimeInterface::NetworkTimeChanged, this, &ModemTime::onNetworkTimeChanged);
+}
+
+ModemManager::ModemTime::~ModemTime()
+{
+}
+
+QDateTime ModemManager::ModemTime::networkTime()
+{
+    Q_D(ModemTime);
+    QDBusPendingReply<QString> reply = d->modemTimeIface.GetNetworkTime();
+    reply.waitForFinished();
+    if (reply.isValid()) {
+        return QDateTime::fromString(reply.value(), Qt::ISODate);
+    }
+
+    return QDateTime();
+}
+
+ModemManager::ModemTime::NetworkTimeZone ModemManager::ModemTime::networkTimeZone() const
+{
+    Q_D(const ModemTime);
+
+    NetworkTimeZone result;
+    const QVariantMap map = d->modemTimeIface.networkTimezone();
+    if (map.contains("offset"))
+        result.offset = map.value("offset").toInt();
+    if (map.contains("dst-offset"))
+        result.dst_offset = map.value("dst-offset").toInt();
+    if (map.contains("leap-seconds"))
+        result.leap_seconds = map.value("leap-seconds").toInt();
+
+    return result;
+}
+
+
+void ModemManager::ModemTime::onNetworkTimeChanged(const QString &isoDateTime)
+{
+    const QDateTime result = QDateTime::fromString(isoDateTime, Qt::ISODate);
+    if (result.isValid())
+        emit networkTimeChanged(result);
+}
diff -pruN 1.0.1-2/src/modemtime.h 5.2.2-0ubuntu1/src/modemtime.h
--- 1.0.1-2/src/modemtime.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemtime.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,87 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_MODEMTIME_H
+#define MODEMMANAGERQT_MODEMTIME_H
+
+#include <modemmanagerqt_export.h>
+#include "interface.h"
+
+#include <QObject>
+#include <QDateTime>
+#include <QSharedPointer>
+
+class ModemTimePrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The ModemTime class
+ *
+ * This class allows clients to receive network time and timezone updates broadcast by mobile networks.
+ */
+class MODEMMANAGERQT_EXPORT ModemTime : public Interface
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(ModemTime)
+
+public:
+    typedef QSharedPointer<ModemTime> Ptr;
+    typedef QList<Ptr> List;
+
+    struct NetworkTimeZone {
+        int offset; ///< Offset of the timezone from UTC, in minutes (including DST, if applicable)
+        int dst_offset; ///< Amount of offset that is due to DST (daylight saving time)
+        int leap_seconds; ///< Number of leap seconds included in the network time
+    };
+
+    explicit ModemTime(const QString &path, QObject *parent = 0);
+    ~ModemTime();
+
+    /**
+     * @return the current network time in local time.
+     *
+     * 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.
+     */
+    QDateTime networkTime();
+
+    /**
+     * @return the timezone data provided by the network.
+     * @see NetworkTimeZone
+     */
+    NetworkTimeZone networkTimeZone() const;
+
+Q_SIGNALS:
+    /**
+     * Sent when the network time is updated.
+     * @param dateTime the new date and time
+     */
+    void networkTimeChanged(const QDateTime &dateTime);
+
+private Q_SLOTS:
+    void onNetworkTimeChanged(const QString &isoDateTime);
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/modemtime_p.h 5.2.2-0ubuntu1/src/modemtime_p.h
--- 1.0.1-2/src/modemtime_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/modemtime_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,35 @@
+/*
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_MODEMTIME_P_H
+#define MODEMMANAGER_MODEMTIME_P_H
+
+#include "interface_p.h"
+#include "dbus/timeinterface.h"
+
+class ModemTimePrivate: public InterfacePrivate
+{
+public:
+    explicit ModemTimePrivate(const QString &path);
+    OrgFreedesktopModemManager1ModemTimeInterface modemTimeIface;
+};
+
+#endif
diff -pruN 1.0.1-2/src/sim.cpp 5.2.2-0ubuntu1/src/sim.cpp
--- 1.0.1-2/src/sim.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sim.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,97 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010-2011 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "sim.h"
+#include "sim_p.h"
+#include "mmdebug.h"
+
+SimPrivate::SimPrivate(const QString &path)
+    : simIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+    , uni(path)
+{
+}
+
+ModemManager::Sim::Sim(const QString &path, QObject *parent)
+    : QObject(parent)
+    , d_ptr(new SimPrivate(path))
+{
+}
+
+ModemManager::Sim::~Sim()
+{
+    delete d_ptr;
+}
+
+QString ModemManager::Sim::simIdentifier() const
+{
+    Q_D(const Sim);
+    return d->simIface.simIdentifier();
+}
+
+QString ModemManager::Sim::imsi() const
+{
+    Q_D(const Sim);
+    return d->simIface.imsi();
+}
+
+QString ModemManager::Sim::operatorIdentifier() const
+{
+    Q_D(const Sim);
+    return d->simIface.operatorIdentifier();
+}
+
+QString ModemManager::Sim::operatorName() const
+{
+    Q_D(const Sim);
+    return d->simIface.operatorName();
+}
+
+QDBusPendingReply<> ModemManager::Sim::sendPuk(const QString &puk, const QString &pin)
+{
+    Q_D(Sim);
+    return d->simIface.SendPuk(puk, pin);
+}
+
+QDBusPendingReply<> ModemManager::Sim::sendPin(const QString &pin)
+{
+    Q_D(Sim);
+    return d->simIface.SendPin(pin);
+}
+
+QDBusPendingReply<> ModemManager::Sim::enablePin(const QString &pin, bool enabled)
+{
+    Q_D(Sim);
+    return d->simIface.EnablePin(pin, enabled);
+}
+
+QDBusPendingReply<> ModemManager::Sim::changePin(const QString &oldPin, const QString &newPin)
+{
+    Q_D(Sim);
+    return d->simIface.ChangePin(oldPin, newPin);
+}
+
+QString ModemManager::Sim::uni() const
+{
+    Q_D(const Sim);
+    return d->uni;
+}
diff -pruN 1.0.1-2/src/sim.h 5.2.2-0ubuntu1/src/sim.h
--- 1.0.1-2/src/sim.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sim.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,110 @@
+/*
+    Copyright 2008,2011 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010-2011 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_SIM_H
+#define MODEMMANAGERQT_SIM_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QDBusPendingReply>
+
+class SimPrivate;
+
+namespace ModemManager
+{
+/**
+ * @brief The Sim class
+ *
+ * The SIM class handles communication with SIM, USIM, and RUIM (CDMA SIM) cards.
+ */
+class MODEMMANAGERQT_EXPORT Sim : public QObject
+{
+    Q_OBJECT
+    Q_DECLARE_PRIVATE(Sim)
+
+public:
+    typedef QSharedPointer<Sim> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit Sim(const QString &path, QObject *parent = 0);
+    ~Sim();
+
+    /**
+     * @return An obfuscated SIM identifier based on the IMSI or the ICCID.
+     *
+     * This may be available before the PIN has been entered depending on the device itself.
+     */
+    QString simIdentifier() const;
+
+    /**
+     * @return The IMSI of the SIM card, if any.
+     */
+    QString imsi() const;
+
+    /**
+     * @return The ID of the network operator, as given by the SIM card, if known.
+     */
+    QString operatorIdentifier() const;
+
+    /**
+     * @return The name of the network operator, as given by the SIM card, if known.
+     */
+    QString operatorName() const;
+
+    /**
+     * Send the PIN to unlock the SIM card.
+     * @param pin A string containing the PIN code.
+     */
+    QDBusPendingReply<> sendPin(const QString &pin);
+
+    /**
+     * Send the PUK and a new PIN to unlock the SIM card.
+     * @param puk A string containing the PUK code.
+     * @param pin A string containing the PIN code.
+     */
+    QDBusPendingReply<> sendPuk(const QString &puk, const QString &pin);
+
+    /**
+     * Enable or disable the PIN checking.
+     * @param pin A string containing the PIN code.
+     * @param enabled TRUE to enable PIN checking, FALSE otherwise.
+     */
+    QDBusPendingReply<> enablePin(const QString &pin, bool enabled);
+
+    /**
+     * Change the PIN code.
+     * @param oldPin A string containing the current PIN code.
+     * @param newPin A string containing the new PIN code.
+     */
+    QDBusPendingReply<> changePin(const QString &oldPin, const QString &newPin);
+
+    QString uni() const;
+
+private:
+    SimPrivate *const d_ptr;
+};
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/sim_p.h 5.2.2-0ubuntu1/src/sim_p.h
--- 1.0.1-2/src/sim_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sim_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,37 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_SIM_P_H
+#define MODEMMANAGER_SIM_P_H
+
+#include "dbus/siminterface.h"
+#include "interface_p.h"
+
+class SimPrivate
+{
+public:
+    explicit SimPrivate(const QString &path);
+    OrgFreedesktopModemManager1SimInterface simIface;
+    QString uni;
+};
+
+#endif
diff -pruN 1.0.1-2/src/sms.cpp 5.2.2-0ubuntu1/src/sms.cpp
--- 1.0.1-2/src/sms.cpp	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sms.cpp	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,272 @@
+/*
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "sms.h"
+#include "sms_p.h"
+
+#include "dbus/dbus.h"
+
+#include <ModemManager/ModemManager.h>
+
+SmsPrivate::SmsPrivate(const QString &path)
+    : smsIface(MM_DBUS_SERVICE, path, QDBusConnection::systemBus())
+{
+}
+
+ModemManager::Sms::Sms(const QString &path, QObject *parent)
+    : QObject(parent)
+    , d_ptr(new SmsPrivate(path))
+{
+    Q_D(Sms);
+
+    d->dBusPath = path;
+    d->state = (MMSmsState) d->smsIface.state();
+    d->pduType = (MMSmsPduType) d->smsIface.pduType();
+    d->number = d->smsIface.number();
+    d->text = d->smsIface.text();
+    d->smsc = d->smsIface.sMSC();
+    d->data = d->smsIface.data();
+    d->validity = d->smsIface.validity();
+    d->smsClass = d->smsIface.smsClass();
+    d->deliveryReportRequest = d->smsIface.deliveryReportRequest();
+    d->messageReference = d->smsIface.messageReference();
+    d->timestamp =  QDateTime::fromString(d->smsIface.timestamp(), Qt::ISODate);
+    d->dischargeTimestamp = QDateTime::fromString(d->smsIface.dischargeTimestamp(), Qt::ISODate);
+    d->deliveryState = (MMSmsDeliveryState) d->smsIface.deliveryState();
+    d->storage = (MMSmsStorage) d->smsIface.storage();
+#if MM_CHECK_VERSION(1, 2, 0)
+    d->serviceCategory = (MMSmsCdmaServiceCategory) d->smsIface.serviceCategory();
+    d->teleserviceId = (MMSmsCdmaTeleserviceId) d->smsIface.teleserviceId();
+#endif
+    QDBusConnection::systemBus().connect(MM_DBUS_SERVICE, path, DBUS_INTERFACE_PROPS, QStringLiteral("PropertiesChanged"), this,
+                                         SLOT(onPropertiesChanged(QString,QVariantMap,QStringList)));
+}
+
+ModemManager::Sms::~Sms()
+{
+    delete d_ptr;
+}
+
+void ModemManager::Sms::onPropertiesChanged(const QString &interfaceName, const QVariantMap &changedProperties, const QStringList &invalidatedProperties)
+{
+    Q_UNUSED(invalidatedProperties);
+    if (interfaceName == QString(MM_DBUS_INTERFACE_SMS)) {
+        QLatin1String state(MM_SMS_PROPERTY_STATE);
+        QLatin1String pduType(MM_SMS_PROPERTY_PDUTYPE);
+        QLatin1String number(MM_SMS_PROPERTY_NUMBER);
+        QLatin1String smsc(MM_SMS_PROPERTY_SMSC);
+        QLatin1String data(MM_SMS_PROPERTY_DATA);
+        QLatin1String text(MM_SMS_PROPERTY_TEXT);
+        QLatin1String validity(MM_SMS_PROPERTY_VALIDITY);
+        QLatin1String smsClass(MM_SMS_PROPERTY_CLASS);
+        QLatin1String deliveryReportRequest(MM_SMS_PROPERTY_DELIVERYREPORTREQUEST);
+        QLatin1String messageReference(MM_SMS_PROPERTY_MESSAGEREFERENCE);
+        QLatin1String timestamp(MM_SMS_PROPERTY_TIMESTAMP);
+        QLatin1String dischargeTimestamp(MM_SMS_PROPERTY_DISCHARGETIMESTAMP);
+        QLatin1String deliveryState(MM_SMS_PROPERTY_DELIVERYSTATE);
+        QLatin1String storage(MM_SMS_PROPERTY_STORAGE);
+#if MM_CHECK_VERSION(1,1,900)
+        QLatin1String serviceCategory(MM_SMS_PROPERTY_SERVICECATEGORY);
+        QLatin1String teleserviceId(MM_SMS_PROPERTY_TELESERVICEID);
+#endif
+
+        Q_D(Sms);
+
+        QVariantMap::const_iterator it = changedProperties.constFind(state);
+        if (it != changedProperties.constEnd()) {
+            d->state = (MMSmsState) it->toUInt();
+            emit stateChanged(d->state);
+        }
+        it = changedProperties.constFind(pduType);
+        if (it != changedProperties.constEnd()) {
+            d->pduType = (MMSmsPduType) it->toUInt();
+        }
+        it = changedProperties.constFind(number);
+        if (it != changedProperties.constEnd()) {
+            d->number = it->toString();
+        }
+        it = changedProperties.constFind(smsc);
+        if (it != changedProperties.constEnd()) {
+            d->smsc = it->toString();
+        }
+        it = changedProperties.constFind(data);
+        if (it != changedProperties.constEnd()) {
+            d->data = it->toByteArray();
+        }
+        it = changedProperties.constFind(text);
+        if (it != changedProperties.constEnd()) {
+            d->text = it->toString();
+        }
+        it = changedProperties.constFind(validity);
+        if (it != changedProperties.constEnd()) {
+            d->validity = it->value<ValidityPair>();
+        }
+        it = changedProperties.constFind(smsClass);
+        if (it != changedProperties.constEnd()) {
+            d->smsClass = it->toInt();
+        }
+        it = changedProperties.constFind(deliveryReportRequest);
+        if (it != changedProperties.constEnd()) {
+            d->deliveryReportRequest = it->toBool();
+        }
+        it = changedProperties.constFind(messageReference);
+        if (it != changedProperties.constEnd()) {
+            d->messageReference = it->toUInt();
+        }
+        it = changedProperties.constFind(timestamp);
+        if (it != changedProperties.constEnd()) {
+            d->timestamp = QDateTime::fromString(it->toString(), Qt::ISODate);
+        }
+        it = changedProperties.constFind(dischargeTimestamp);
+        if (it != changedProperties.constEnd()) {
+            d->dischargeTimestamp = QDateTime::fromString(it->toString(), Qt::ISODate);
+        }
+        it = changedProperties.constFind(deliveryState);
+        if (it != changedProperties.constEnd()) {
+            d->deliveryState = (MMSmsDeliveryState) it->toUInt();
+            emit deliveryStateChanged(d->deliveryState);
+        }
+        it = changedProperties.constFind(storage);
+        if (it != changedProperties.constEnd()) {
+            d->storage = (MMSmsStorage) it->toUInt();
+        }
+#if MM_CHECK_VERSION(1,1,900)
+        it = changedProperties.constFind(serviceCategory);
+        if (it != changedProperties.constEnd()) {
+            d->serviceCategory = (MMSmsCdmaServiceCategory) it->toUInt();
+        }
+        it = changedProperties.constFind(teleserviceId);
+        if (it != changedProperties.constEnd()) {
+            d->teleserviceId = (MMSmsCdmaTeleserviceId) it->toUInt();
+        }
+#endif
+    }
+}
+
+QDBusPendingReply<> ModemManager::Sms::send()
+{
+    Q_D(Sms);
+    return d->smsIface.Send();
+}
+
+QDBusPendingReply<> ModemManager::Sms::store(MMSmsStorage storage)
+{
+    Q_D(Sms);
+    return d->smsIface.Store(storage);
+}
+
+MMSmsState ModemManager::Sms::state() const
+{
+    Q_D(const Sms);
+    return d->state;
+}
+
+MMSmsPduType ModemManager::Sms::pduType() const
+{
+    Q_D(const Sms);
+    return d->pduType;
+}
+
+QString ModemManager::Sms::number() const
+{
+    Q_D(const Sms);
+    return d->number;
+}
+
+QString ModemManager::Sms::text() const
+{
+    Q_D(const Sms);
+    return d->text;
+}
+
+QString ModemManager::Sms::smsc() const
+{
+    Q_D(const Sms);
+    return d->smsc;
+}
+
+QByteArray ModemManager::Sms::data() const
+{
+    Q_D(const Sms);
+    return d->data;
+}
+
+ValidityPair ModemManager::Sms::validity() const
+{
+    Q_D(const Sms);
+    return d->validity;
+}
+
+int ModemManager::Sms::smsClass() const
+{
+    Q_D(const Sms);
+    return d->smsClass;
+}
+
+bool ModemManager::Sms::deliveryReportRequest() const
+{
+    Q_D(const Sms);
+    return d->deliveryReportRequest;
+}
+
+uint ModemManager::Sms::messageReference() const
+{
+    Q_D(const Sms);
+    return d->messageReference;
+}
+
+QDateTime ModemManager::Sms::timestamp() const
+{
+    Q_D(const Sms);
+    return d->timestamp;
+}
+
+QDateTime ModemManager::Sms::dischargeTimestamp() const
+{
+    Q_D(const Sms);
+    return d->dischargeTimestamp;
+}
+
+MMSmsDeliveryState ModemManager::Sms::deliveryState() const
+{
+    Q_D(const Sms);
+    return d->deliveryState;
+}
+
+MMSmsStorage ModemManager::Sms::storage() const
+{
+    Q_D(const Sms);
+    return d->storage;
+}
+#if MM_CHECK_VERSION(1, 2, 0)
+MMSmsCdmaServiceCategory ModemManager::Sms::serviceCategory() const
+{
+    Q_D(const Sms);
+    return d->serviceCategory;
+}
+
+MMSmsCdmaTeleserviceId ModemManager::Sms::teleserviceId() const
+{
+    Q_D(const Sms);
+    return d->teleserviceId;
+}
+#endif
diff -pruN 1.0.1-2/src/sms.h 5.2.2-0ubuntu1/src/sms.h
--- 1.0.1-2/src/sms.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sms.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,179 @@
+/*
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGERQT_SMS_H
+#define MODEMMANAGERQT_SMS_H
+
+#include <modemmanagerqt_export.h>
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QDBusPendingReply>
+
+#include "generictypes.h"
+
+class SmsPrivate;
+
+namespace ModemManager
+{
+/**
+* Provides an interface to manipulate and control an SMS
+*
+* Note: MMSmsStorage, MMSmsState, MMSmsPduType and MMSmsDeliveryState enums are defined in <ModemManager/ModemManager-enums.h>
+* See http://www.freedesktop.org/software/ModemManager/api/1.0.0/ModemManager-Flags-and-Enumerations.html
+*/
+class MODEMMANAGERQT_EXPORT Sms : public QObject
+{
+Q_OBJECT
+Q_DECLARE_PRIVATE(Sms)
+
+public:
+    typedef QSharedPointer<Sms> Ptr;
+    typedef QList<Ptr> List;
+
+    explicit Sms(const QString &path, QObject *parent = 0);
+    ~Sms();
+
+    /**
+    * Send the SMS
+    */
+    QDBusPendingReply<> send();
+
+    /**
+    * Store the SMS
+    *
+    * @param storage the storage location of the SMS (empty for default storage)
+    */
+    QDBusPendingReply<> store(MMSmsStorage storage = MM_SMS_STORAGE_UNKNOWN);
+
+    /**
+    * This method returns the state of the SMS
+    */
+    MMSmsState state() const;
+
+    /**
+    * This method returns the Protocol Data Unit (PDU) type of the SMS
+    */
+    MMSmsPduType pduType() const;
+
+    /**
+    * This method returns the phone number to which the SMS is addressed to
+    */
+    QString number() const;
+
+    /**
+    * This method returns the text of the SMS. text() and data() are not valid at the same time
+    */
+    QString text() const;
+
+    /**
+    * This method returns the SMS service center number
+    */
+    QString smsc() const;
+
+    /**
+    * This method returns the SMS message data. text() and data() are not valid at the same time
+    */
+    QByteArray data() const;
+
+    /**
+    * This method returns the validity of the SMS
+    *
+    * @return A ValidityPair struct composed of a MMSmsValidityType type and a value indicating the validity of the SMS
+    */
+    ValidityPair validity() const;
+
+    /**
+    * This method returns the 3GPP class of the SMS
+    */
+    int smsClass() const;
+
+    /**
+     * @return @c true if a delivery report is requested, @c false otherwise
+     */
+    bool deliveryReportRequest() const;
+
+    /**
+    * This method returns the message reference of the last PDU sent/received in the SMS.
+    * The message reference is the number used to identify the SMS in the SMSC.
+    * If the PDU type is MM_SMS_PDU_TYPE_STATUS_REPORT, this field identifies the Message Reference of the PDU associated to the status report
+    */
+    uint messageReference() const;
+
+    /**
+    * Time when the SMS arrived at the SMSC
+    */
+    QDateTime timestamp() const;
+
+    /**
+    * Time when the SMS left the SMSC
+    */
+    QDateTime dischargeTimestamp() const;
+
+    /**
+    * This method returns the delivery state of the SMS
+    */
+    MMSmsDeliveryState deliveryState() const;
+
+    /**
+    * This method returns the storage area/location of the SMS
+    */
+    MMSmsStorage storage() const;
+#if MM_CHECK_VERSION(1, 2, 0)
+    /**
+     * @return service category for CDMA SMS, as defined in 3GPP2 C.R1001-D (section 9.3).
+     * @since 1.1.91
+     */
+    MMSmsCdmaServiceCategory serviceCategory() const;
+
+    /**
+     * @return 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)
+     * @since 1.1.91
+     */
+    MMSmsCdmaTeleserviceId teleserviceId() const;
+#endif
+Q_SIGNALS:
+    /**
+    * This signal is emitted when the state of the SMS has changed
+    *
+    * @param newState the new state of the SMS
+    */
+    void stateChanged(MMSmsState newState);
+
+    /**
+    * This signal is emitted when the delivery state of the SMS has changed
+    *
+    * @param newDeliveryState the new delivery state of the SMS
+    */
+    void deliveryStateChanged(MMSmsDeliveryState newDeliveryState);
+
+private Q_SLOTS:
+    void onPropertiesChanged(const QString &interface, const QVariantMap &changedProperties, const QStringList &invalidatedProps);
+
+private:
+    SmsPrivate *const d_ptr;
+};
+
+} // namespace ModemManager
+
+#endif
diff -pruN 1.0.1-2/src/sms_p.h 5.2.2-0ubuntu1/src/sms_p.h
--- 1.0.1-2/src/sms_p.h	1970-01-01 00:00:00.000000000 +0000
+++ 5.2.2-0ubuntu1/src/sms_p.h	2015-03-19 12:29:47.000000000 +0000
@@ -0,0 +1,58 @@
+/*
+    Copyright 2008 Will Stephenson <wstephenson@kde.org>
+    Copyright 2010 Lamarque Souza <lamarque@kde.org>
+    Copyright 2013 Anant Kamath <kamathanant@gmail.com>
+    Copyright 2013 Lukas Tinkl <ltinkl@redhat.com>
+    Copyright 2013 Jan Grulich <jgrulich@redhat.com>
+
+    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.1 of the License, or (at your option) version 3, or any
+    later version accepted by the membership of KDE e.V. (or its
+    successor approved by the membership of KDE e.V.), which shall
+    act as a proxy defined in Section 6 of version 3 of the license.
+
+    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, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef MODEMMANAGER_SMS_P_H
+#define MODEMMANAGER_SMS_P_H
+
+#include "dbus/smsinterface.h"
+
+class SmsPrivate
+{
+public:
+    explicit SmsPrivate(const QString &path);
+    OrgFreedesktopModemManager1SmsInterface smsIface;
+
+    QString dBusPath;
+    MMSmsState state;
+    MMSmsPduType pduType;
+    QString number;
+    QString text;
+    QString smsc;
+    QByteArray data;
+    ValidityPair validity;
+    int smsClass;
+    bool deliveryReportRequest;
+    uint messageReference;
+    QDateTime timestamp;
+    QDateTime dischargeTimestamp;
+    MMSmsDeliveryState deliveryState;
+    MMSmsStorage storage;
+#if MM_CHECK_VERSION(1, 2, 0)
+    MMSmsCdmaServiceCategory serviceCategory;
+    MMSmsCdmaTeleserviceId teleserviceId;
+#endif
+
+};
+
+#endif
