*
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
*
- * Contact: Alexander Kanavin <alexander.kanavin@nokia.com>
+ * Contact: Alexander Kanavin <alex.kanavin@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
#ifndef OFONOMODEMMANAGER_H
#define OFONOMODEMMANAGER_H
-#include <QtDBus/QtDBus>
#include <QtCore/QObject>
+#include <QVariant>
+#include <QDBusObjectPath>
+#include <QStringList>
#include "libofono-qt_global.h"
-struct OfonoModemStruct {
- QDBusObjectPath path;
- QVariantMap properties;
-};
-typedef QList<OfonoModemStruct> OfonoModemList;
-Q_DECLARE_METATYPE(OfonoModemStruct)
-Q_DECLARE_METATYPE(OfonoModemList)
-// Marshall the ModemStruct data into a D-Bus argument
-QDBusArgument &operator<<(QDBusArgument &argument, const OfonoModemStruct &modem);
-
-// Retrieve the ModemStruct data from the D-Bus argument
-const QDBusArgument &operator>>(const QDBusArgument &argument, OfonoModemStruct &modem);
-
-
-class OfonoInterface;
-
+//! Provides access to the list of available modems and changes in that list.
class OFONO_QT_EXPORT OfonoModemManager : public QObject {
Q_OBJECT
public:
- OfonoModemManager(QObject *parent);
+ OfonoModemManager(QObject *parent=0);
~OfonoModemManager();
- QStringList modems();
+ //! Returns a list of d-bus object paths that represent available modems
+ Q_INVOKABLE QStringList modems() const;
-private slots:
- void onModemAdded(const QDBusObjectPath& path, const QVariantMap& map);
- void onModemRemoved(const QDBusObjectPath& path);
-
signals:
- void modemAdded(QString modem);
- void modemRemoved(QString modem);
+ //! Issued when a modem has been added
+ void modemAdded(const QString &modemPath);
+
+ //! Issued when a modem has been removed
+ void modemRemoved(const QString &modemPath);
+
+private slots:
+ void onModemAdded(const QDBusObjectPath &path, const QVariantMap &map);
+ void onModemRemoved(const QDBusObjectPath &path);
private:
QStringList m_modems;