#define SET_PROPERTY_TIMEOUT 300000
-OfonoCallBarring::OfonoCallBarring(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.CallBarring", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoCallBarring::OfonoCallBarring(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.CallBarring", OfonoInterface::GetAllOnFirstRequest, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
}
-void OfonoCallBarring::requestChangePassword(QString old_password,
- QString new_password)
+void OfonoCallBarring::requestChangePassword(const QString &old_password,
+ const QString &new_password)
{
QDBusMessage request;
SLOT(changePasswordErr(const QDBusError&)));
}
-void OfonoCallBarring::requestDisableAll(QString password)
+void OfonoCallBarring::requestDisableAll(const QString &password)
{
QDBusMessage request;
SLOT(disableAllErr(const QDBusError&)));
}
-void OfonoCallBarring::requestDisableAllIncoming(QString password)
+void OfonoCallBarring::requestDisableAllIncoming(const QString &password)
{
QDBusMessage request;
SLOT(disableAllIncomingErr(const QDBusError&)));
}
-void OfonoCallBarring::requestDisableAllOutgoing(QString password)
+void OfonoCallBarring::requestDisableAllOutgoing(const QString &password)
{
QDBusMessage request;
requestProperty("VoiceIncoming");
}
-void OfonoCallBarring::setVoiceIncoming(QString barrings, QString password)
+void OfonoCallBarring::setVoiceIncoming(const QString &barrings, const QString &password)
{
setProperty("VoiceIncoming", qVariantFromValue(barrings), password);
}
requestProperty("VoiceOutgoing");
}
-void OfonoCallBarring::setVoiceOutgoing(QString barrings, QString password)
+void OfonoCallBarring::setVoiceOutgoing(const QString &barrings, const QString &password)
{
setProperty("VoiceOutgoing", qVariantFromValue(barrings), password);
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono call barring API
+/*!
+ * This class is used to access oFono call barring API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/call-barring-api.txt
+ */
class OFONO_QT_EXPORT OfonoCallBarring : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoCallBarring(QString modemId, QObject *parent=0);
+ OfonoCallBarring(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoCallBarring();
/* Properties */
void requestVoiceIncoming();
- void setVoiceIncoming(QString barrings, QString password);
+ void setVoiceIncoming(const QString &barrings, const QString &password);
void requestVoiceOutgoing();
- void setVoiceOutgoing(QString barrings, QString password);
+ void setVoiceOutgoing(const QString &barrings, const QString &password);
/* Methods */
- void requestChangePassword(QString old_password, QString new_password);
- void requestDisableAll(QString password);
- void requestDisableAllIncoming(QString password);
- void requestDisableAllOutgoing(QString password);
+ void requestChangePassword(const QString &old_password, const QString &new_password);
+ void requestDisableAll(const QString &password);
+ void requestDisableAllIncoming(const QString &password);
+ void requestDisableAllOutgoing(const QString &password);
signals:
void incomingBarringInEffect();
void outgoingBarringInEffect();
- void voiceIncomingComplete(bool success, QString barrings);
- void voiceOutgoingComplete(bool success, QString barrings);
- void voiceIncomingChanged(QString barrings);
- void voiceOutgoingChanged(QString barrings);
+ void voiceIncomingComplete(bool success, const QString &barrings);
+ void voiceOutgoingComplete(bool success, const QString &barrings);
+ void voiceIncomingChanged(const QString &barrings);
+ void voiceOutgoingChanged(const QString &barrings);
void setVoiceIncomingFailed();
void setVoiceOutgoingFailed();
#include "ofonocallforwarding.h"
-OfonoCallForwarding::OfonoCallForwarding(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.CallForwarding", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoCallForwarding::OfonoCallForwarding(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.CallForwarding", OfonoInterface::GetAllOnFirstRequest, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
}
-void OfonoCallForwarding::requestDisableAll(QString type)
+void OfonoCallForwarding::requestDisableAll(const QString &type)
{
QDBusMessage request;
requestProperty("VoiceUnconditional");
}
-void OfonoCallForwarding::setVoiceUnconditional(QString property)
+void OfonoCallForwarding::setVoiceUnconditional(const QString &property)
{
setProperty("VoiceUnconditional", qVariantFromValue(property));
}
requestProperty("VoiceBusy");
}
-void OfonoCallForwarding::setVoiceBusy(QString property)
+void OfonoCallForwarding::setVoiceBusy(const QString &property)
{
return setProperty("VoiceBusy", qVariantFromValue(property));
}
requestProperty("VoiceNoReply");
}
-void OfonoCallForwarding::setVoiceNoReply(QString property)
+void OfonoCallForwarding::setVoiceNoReply(const QString &property)
{
return setProperty("VoiceNoReply", qVariantFromValue(property));
}
requestProperty("VoiceNotReachable");
}
-void OfonoCallForwarding::setVoiceNotReachable(QString property)
+void OfonoCallForwarding::setVoiceNotReachable(const QString &property)
{
return setProperty("VoiceNotReachable", qVariantFromValue(property));
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono call forwarding API
+/*!
+ * This class is used to access oFono call forwarding API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/call-forwarding-api.txt
+ */
class OFONO_QT_EXPORT OfonoCallForwarding : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoCallForwarding(QString modemId, QObject *parent=0);
+ OfonoCallForwarding(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoCallForwarding();
/* Properties */
void requestVoiceUnconditional(); /* "" | phonenumber */
- void setVoiceUnconditional(QString property);
+ void setVoiceUnconditional(const QString &property);
void requestVoiceBusy();
- void setVoiceBusy(QString property);
+ void setVoiceBusy(const QString &property);
void requestVoiceNoReply();
- void setVoiceNoReply(QString property);
+ void setVoiceNoReply(const QString &property);
void requestVoiceNoReplyTimeout();
void setVoiceNoReplyTimeout(ushort timeout);
void requestVoiceNotReachable();
- void setVoiceNotReachable(QString property);
+ void setVoiceNotReachable(const QString &property);
/* Methods */
- void requestDisableAll(QString type); /* "all" | "conditional" */
+ void requestDisableAll(const QString &type); /* "all" | "conditional" */
signals:
- void voiceUnconditionalComplete(bool success, QString property);
- void voiceBusyComplete(bool success, QString property);
- void voiceNoReplyComplete(bool success, QString property);
+ void voiceUnconditionalComplete(bool success, const QString &property);
+ void voiceBusyComplete(bool success, const QString &property);
+ void voiceNoReplyComplete(bool success, const QString &property);
void voiceNoReplyTimeoutComplete(bool success, ushort timeout);
- void voiceNotReachableComplete(bool success, QString property);
+ void voiceNotReachableComplete(bool success, const QString &property);
- void voiceUnconditionalChanged(QString property);
- void voiceBusyChanged(QString property);
- void voiceNoReplyChanged(QString property);
+ void voiceUnconditionalChanged(const QString &property);
+ void voiceBusyChanged(const QString &property);
+ void voiceNoReplyChanged(const QString &property);
void voiceNoReplyTimeoutChanged(ushort timeout);
- void voiceNotReachableChanged(QString property);
+ void voiceNotReachableChanged(const QString &property);
void setVoiceUnconditionalFailed();
void setVoiceBusyFailed();
#include "ofonocallmeter.h"
-OfonoCallMeter::OfonoCallMeter(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.CallMeter", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoCallMeter::OfonoCallMeter(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.CallMeter", OfonoInterface::GetAllOnFirstRequest, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono call meter API
+/*!
+ * This class is used to access oFono call meter API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/call-meter-api.txt
+ */
class OFONO_QT_EXPORT OfonoCallMeter : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoCallMeter(QString modemId, QObject *parent=0);
+ OfonoCallMeter(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoCallMeter();
/* Properties */
#include "ofonocallsettings.h"
-OfonoCallSettings::OfonoCallSettings(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.CallSettings", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoCallSettings::OfonoCallSettings(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.CallSettings", OfonoInterface::GetAllOnFirstRequest, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
requestProperty("VoiceCallWaiting");
}
-void OfonoCallSettings::setHideCallerId(QString preference)
+void OfonoCallSettings::setHideCallerId(const QString &preference)
{
return setProperty("HideCallerId", qVariantFromValue(preference));
}
-void OfonoCallSettings::setVoiceCallWaiting(QString preference)
+void OfonoCallSettings::setVoiceCallWaiting(const QString &preference)
{
return setProperty("VoiceCallWaiting", qVariantFromValue(preference));
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono call settings API
+/*!
+ * This class is used to access oFono call settings API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/call-settings-api.txt
+ */
class OFONO_QT_EXPORT OfonoCallSettings : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoCallSettings(QString modemId, QObject *parent=0);
+ OfonoCallSettings(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoCallSettings();
/* Properties */
void requestCalledLineRestriction();
void requestCallingLineRestriction();
void requestHideCallerId();
- void setHideCallerId(QString setting);
+ void setHideCallerId(const QString &setting);
void requestVoiceCallWaiting();
- void setVoiceCallWaiting(QString setting);
+ void setVoiceCallWaiting(const QString &setting);
signals:
- void callingLinePresentationComplete(bool success, QString setting);
- void calledLinePresentationComplete(bool success, QString setting);
- void calledLineRestrictionComplete(bool success, QString setting);
- void callingLineRestrictionComplete(bool success, QString setting);
- void hideCallerIdComplete(bool success, QString setting);
- void voiceCallWaitingComplete(bool success, QString setting);
+ void callingLinePresentationComplete(bool success, const QString &setting);
+ void calledLinePresentationComplete(bool success, const QString &setting);
+ void calledLineRestrictionComplete(bool success, const QString &setting);
+ void callingLineRestrictionComplete(bool success, const QString &setting);
+ void hideCallerIdComplete(bool success, const QString &setting);
+ void voiceCallWaitingComplete(bool success, const QString &setting);
- void callingLinePresentationChanged(QString setting);
- void calledLinePresentationChanged(QString setting);
- void calledLineRestrictionChanged(QString setting);
- void callingLineRestrictionChanged(QString setting);
- void hideCallerIdChanged(QString setting);
- void voiceCallWaitingChanged(QString setting);
+ void callingLinePresentationChanged(const QString &setting);
+ void calledLinePresentationChanged(const QString &setting);
+ void calledLineRestrictionChanged(const QString &setting);
+ void callingLineRestrictionChanged(const QString &setting);
+ void hideCallerIdChanged(const QString &setting);
+ void voiceCallWaitingChanged(const QString &setting);
void setHideCallerIdFailed();
void setVoiceCallWaitingFailed();
void OfonoInterface::requestProperty(const QString& name)
{
if (m_pendingProperty.length() > 0) {
- // FIXME: should indicate that a setProperty is already in progress
+ // FIXME: should indicate that a get/setProperty is already in progress
m_errorName = QString();
m_errorMessage = QString();
emit requestPropertyComplete(false, name, QVariant());
void OfonoInterface::setProperty(const QString& name, const QVariant& property)
{
if (m_pendingProperty.length() > 0) {
- // FIXME: should indicate that a setProperty is already in progress
+ // FIXME: should indicate that a get/setProperty is already in progress
m_errorName = QString();
m_errorMessage = QString();
emit setPropertyFailed(name);
#include <QDBusError>
#include "libofono-qt_global.h"
+//! Basic oFono interface class
+/*!
+ * This class implements basic access to properties of oFono interfaces.
+ * It should not be instantiated direcrtly; instead you should instantiate
+ * interface-specific subclasses.
+ */
class OFONO_QT_EXPORT OfonoInterface : public QObject
{
Q_OBJECT
public:
+
+ //! How to handle getting the properties
enum GetPropertySetting {
- GetAllOnStartup,
- GetAllOnFirstRequest
+ GetAllOnStartup, /*!< Get all properties synchronously on startup;
+ * they would be immediately available. */
+ GetAllOnFirstRequest /*!< Do not get properties on startup;
+ * get them in an asynhronous way when the first
+ * property is requested. */
};
- OfonoInterface(const QString& path, const QString& ifname, GetPropertySetting setting, QObject *parent=0);
+ /*!
+ * \param path D-Bus path to the interface
+ * \param ifname D-Bus name of the interface
+ * \param setting specifies how the object should handle oFono properties of the interface
+ */
+ OfonoInterface(const QString &path, const QString &ifname, GetPropertySetting setting, QObject *parent=0);
~OfonoInterface();
+ //! Get all properties
+ /*!
+ * Returns the full set of current properties. If the object was constructed with
+ * OfonoInterface::GetAllOnFirstRequest, and no properties have been explicitly queried yet
+ * via requestProperty(), then returns nothing.
+ */
QVariantMap properties() const;
- void requestProperty(const QString& name);
- void setProperty(const QString& name, const QVariant& property);
+
+ //! Request a property asynchronously.
+ /*!
+ * Request a property asynchronoously. Result is returned via requestPropertyComplete() signal.
+ */
+ void requestProperty(const QString &name);
+
+ //! Set a property asynchronously.
+ /*!
+ * Sets a property asynchronously. Result is returned via propertyChanged() signal
+ * if setting is successful or via setPropertyFailed() signal if setting has failed.
+ */
+ void setProperty(const QString &name, const QVariant &property);
+
+ //! Resets the property cache.
void resetProperties();
+ //! Get the interface D-Bus path
QString path() const {return m_path;}
+ //! Get the interface D-Bus name
QString ifname() const {return m_ifname;}
+
+ //! Get the D-Bus error name of the last operation.
+ /*!
+ * Returns the D-Bus error name of the last operation (setting a property
+ * or calling a method) if it has failed
+ */
QString errorName() const {return m_errorName;}
+
+ //! Get the D-Bus error message of the last operation.
+ /*!
+ * Returns the D-Bus error message of the last operation (setting a property
+ * or calling a method) if it has failed
+ */
QString errorMessage() const {return m_errorMessage;}
signals:
- void propertyChanged(const QString& name, const QVariant& property);
- void requestPropertyComplete(bool success, const QString& name, const QVariant& property);
- void setPropertyFailed(const QString& name);
+ //! Issued when a property has changed
+ /*!
+ * \param name name of the property
+ * \param property value of the property
+ */
+ void propertyChanged(const QString &name, const QVariant &property);
+
+ //! Issued when requesting a property has completed
+ /*!
+ * Issued when requesting a property has completed.
+ * \param success true if requesting a property was successful, false if there was an error
+ * \param name name of the property
+ * \param property value of the property
+ */
+ void requestPropertyComplete(bool success, const QString &name, const QVariant &property);
+
+ //! Issued when setting a property has failed
+ /*!
+ * Issued when setting a property has failed
+ * \param name name of the property
+ */
+ void setPropertyFailed(const QString &name);
private slots:
void onPropertyChanged(QString property, QDBusVariant value);
void setPropertyResp();
void setPropertyErr(const QDBusError& error);
protected slots:
- void setPath(const QString& path);
+ void setPath(const QString &path);
private:
QVariantMap getAllPropertiesSync();
#include "ofonomessagemanager.h"
-OfonoMessageManager::OfonoMessageManager(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.MessageManager", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoMessageManager::OfonoMessageManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.MessageManager", OfonoInterface::GetAllOnFirstRequest, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono message manager API
+/*!
+ * This class is used to access oFono message manager API
+ * oFono message manager API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/message-api.txt
+ */
class OFONO_QT_EXPORT OfonoMessageManager : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoMessageManager(QString modemId, QObject *parent=0);
+ OfonoMessageManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoMessageManager();
/* Properties */
void setServiceCenterAddress(QString address);
signals:
- void serviceCenterAddressChanged(QString address);
+ void serviceCenterAddressChanged(const QString &address);
void setServiceCenterAddressFailed();
- void serviceCenterAddressComplete(bool success, QString address);
+ void serviceCenterAddressComplete(bool success, const QString &address);
private slots:
- void propertyChanged(const QString& property, const QVariant& value);
- void setPropertyFailed(const QString& property);
- void requestPropertyComplete(bool success, const QString& property, const QVariant& value);
+ void propertyChanged(const QString &property, const QVariant &value);
+ void setPropertyFailed(const QString &property);
+ void requestPropertyComplete(bool success, const QString &property, const QVariant &value);
};
#endif /* !OFONOMESSAGEMANAGER_H */
#include "ofonomessagewaiting.h"
-OfonoMessageWaiting::OfonoMessageWaiting(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.MessageWaiting", OfonoInterface::GetAllOnStartup, parent)
+OfonoMessageWaiting::OfonoMessageWaiting(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.MessageWaiting", OfonoInterface::GetAllOnStartup, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
{
}
-bool OfonoMessageWaiting::voicemailWaiting()
+bool OfonoMessageWaiting::voicemailWaiting() const
{
return properties()["VoicemailWaiting"].value<bool>();
}
-int OfonoMessageWaiting::voicemailMessageCount()
+int OfonoMessageWaiting::voicemailMessageCount() const
{
return properties()["VoicemailMessageCount"].value<int>();
}
-QString OfonoMessageWaiting::voicemailMailboxNumber()
+QString OfonoMessageWaiting::voicemailMailboxNumber() const
{
return properties()["VoicemailMailboxNumber"].value<QString>();
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono message waiting API
+/*!
+ * This class is used to access oFono message waiting API
+ * oFono message manager API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/message-waiting-api.txt
+ */
class OFONO_QT_EXPORT OfonoMessageWaiting : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoMessageWaiting(QString modemId, QObject *parent=0);
+ OfonoMessageWaiting(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoMessageWaiting();
- bool voicemailWaiting();
- int voicemailMessageCount();
- QString voicemailMailboxNumber();
+ bool voicemailWaiting() const;
+ int voicemailMessageCount() const;
+ QString voicemailMailboxNumber() const;
void setVoicemailMailboxNumber(QString mailboxnumber);
signals:
void voicemailWaitingChanged(bool waiting);
void voicemailMessageCountChanged(int count);
- void voicemailMailboxNumberChanged(QString mailboxnumber);
+ void voicemailMailboxNumberChanged(const QString &mailboxnumber);
void setVoicemailMailboxNumberFailed();
#include "ofonointerface.h"
#include "ofonomodemmanager.h"
-OfonoModem::OfonoModem(QString modemId, QObject *parent)
- : OfonoInterface("/", "org.ofono.Modem", OfonoInterface::GetAllOnStartup, parent)
+OfonoModem::OfonoModem(SelectionSetting setting, const QString &modemPath, QObject *parent)
+ : OfonoInterface("/", "org.ofono.Modem", OfonoInterface::GetAllOnStartup, parent), m_selectionSetting(setting)
{
+ QString finalModemPath = modemPath;
+
m_mm = new OfonoModemManager(this);
connect(m_mm, SIGNAL(modemAdded(QString)), this, SLOT(modemAdded(QString)));
connect(m_mm, SIGNAL(modemRemoved(QString)), this, SLOT(modemRemoved(QString)));
- if (modemId.isEmpty())
- m_autoChoose = true;
- else
- m_autoChoose = false;
-
- if (m_autoChoose == true)
- modemId = m_mm->modems().value(0);
+ if (setting == AutomaticSelect)
+ finalModemPath = m_mm->modems().value(0);
- if (modemId.isEmpty()) {
- modemId = "/";
+ if (finalModemPath.isEmpty()) {
+ finalModemPath = "/";
}
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
connect(this, SIGNAL(setPropertyFailed(const QString&)),
this, SLOT(setPropertyFailed(const QString&)));
- setPath(modemId);
- m_isValid = m_mm->modems().contains(modemId);
+ setPath(finalModemPath);
+ m_isValid = m_mm->modems().contains(finalModemPath);
}
OfonoModem::~OfonoModem()
emit setPoweredFailed();
}
-void OfonoModem::modemAdded(QString /*modem*/)
+void OfonoModem::modemAdded(const QString& /*modem*/)
{
modemsChanged();
}
-void OfonoModem::modemRemoved(QString /*modem*/)
+void OfonoModem::modemRemoved(const QString& /*modem*/)
{
modemsChanged();
}
void OfonoModem::modemsChanged()
{
// validity has changed
- if (isValid() != m_mm->modems().contains(modemId())) {
- m_isValid = m_mm->modems().contains(modemId());
+ if (isValid() != m_mm->modems().contains(modemPath())) {
+ m_isValid = m_mm->modems().contains(modemPath());
emit validityChanged(isValid());
}
- if (!m_mm->modems().contains(modemId())) {
- if (m_autoChoose == true) {
- QString modemId = m_mm->modems().value(0);
- if (modemId.isEmpty()) {
- modemId = "/";
+ if (!m_mm->modems().contains(modemPath())) {
+ if (m_selectionSetting == AutomaticSelect) {
+ QString modemPath = m_mm->modems().value(0);
+ if (modemPath.isEmpty()) {
+ modemPath = "/";
}
- setPath(modemId);
- emit modemIdChanged(modemId);
+ setPath(modemPath);
+ emit modemPathChanged(modemPath);
}
}
// validity has changed
- if (isValid() != m_mm->modems().contains(modemId())) {
- m_isValid = m_mm->modems().contains(modemId());
+ if (isValid() != m_mm->modems().contains(modemPath())) {
+ m_isValid = m_mm->modems().contains(modemPath());
emit validityChanged(isValid());
}
}
return m_isValid;
}
-QString OfonoModem::modemId() const
+QString OfonoModem::modemPath() const
{
return path();
}
class OfonoModemManager;
+//! This class is used to access an oFono modem object and its properties
+/*!
+ * This class is used to access an oFono modem object and its properties.
+ * oFono modem properties are documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/modem-api.txt
+ */
class OFONO_QT_EXPORT OfonoModem : public OfonoInterface
{
public:
- OfonoModem(QString modemId, QObject *parent);
+ //! How the modem object should select a modem
+ enum SelectionSetting {
+ AutomaticSelect, /*!< Select the first available modem automatically;
+ * if that modem becomes unavailable, select the first available
+ * modem again. */
+ ManualSelect /*!< Do not select a modem automatically,
+ * use the modem path provided in the constructor, and do not
+ * attempt to select another modem if the first one becomes
+ * unavailable. */
+ };
+
+ /*!
+ * \param setting sets the modem selection policy for the object
+ * \param modemPath if modem selection policy is ManualSelect, then this contains
+ * the D-Bus path to the modem object. Otherwise, it is ignored.
+ */
+ OfonoModem(SelectionSetting setting, const QString& modemPath, QObject *parent=0);
~OfonoModem();
+ //! Returns true if D-Bus modem object exists.
bool isValid() const;
- QString modemId() const;
+ //! Returns the D-Bus object path of the modem
+ QString modemPath() const;
+
bool powered() const;
void setPowered(bool powered);
bool online() const;
QStringList interfaces() const;
signals:
+ //! Issued when a modem becomes unavailable or available again
void validityChanged(bool validity);
- void modemIdChanged(QString modemId);
+ //! Issued when the object has switched to another modem
+ void modemPathChanged(QString modemPath);
void poweredChanged(bool powered);
void setPoweredFailed();
void setOnlineFailed();
void emergencyChanged(bool emergency);
- void nameChanged(QString name);
- void manufacturerChanged(QString manufacturer);
- void modelChanged(QString model);
- void revisionChanged(QString revision);
- void serialChanged(QString serial);
+ void nameChanged(const QString &name);
+ void manufacturerChanged(const QString &manufacturer);
+ void modelChanged(const QString &model);
+ void revisionChanged(const QString &revision);
+ void serialChanged(const QString &serial);
- void featuresChanged(QStringList features);
- void interfacesChanged(QStringList interfaces);
+ void featuresChanged(const QStringList &features);
+ void interfacesChanged(const QStringList &interfaces);
private slots:
- void propertyChanged(const QString& property, const QVariant& value);
+ void propertyChanged(const QString &property, const QVariant &value);
void setPropertyFailed(const QString& property);
- void modemAdded(QString modem);
- void modemRemoved(QString modem);
+ void modemAdded(const QString &modem);
+ void modemRemoved(const QString &modem);
private:
void modemsChanged();
private:
OfonoModemManager *m_mm;
- bool m_autoChoose;
+ SelectionSetting m_selectionSetting;
bool m_isValid;
};
#endif
#include "ofonomodeminterface.h"
#include "ofonomodem.h"
-OfonoModemInterface::OfonoModemInterface(const QString& modemId, const QString& ifname, GetPropertySetting setting, QObject *parent)
- : OfonoInterface("/", ifname, setting, parent)
+OfonoModemInterface::OfonoModemInterface(OfonoModem::SelectionSetting modemSetting, const QString& modemPath, const QString& ifname, GetPropertySetting propertySetting, QObject *parent)
+ : OfonoInterface("/", ifname, propertySetting, parent)
{
- m_m = new OfonoModem(modemId, this);
+ m_m = new OfonoModem(modemSetting, modemPath, this);
connect(m_m, SIGNAL(validityChanged(bool)), this, SLOT(modemValidityChanged(bool)));
connect(m_m, SIGNAL(interfacesChanged(QStringList)), this, SLOT(interfacesChanged(QStringList)));
- connect(m_m, SIGNAL(modemIdChanged(QString)), this, SLOT(setPath(QString)));
+ connect(m_m, SIGNAL(modemPathChanged(QString)), this, SLOT(setPath(QString)));
- setPath(m_m->modemId());
+ setPath(m_m->modemPath());
m_isValid = checkValidity();
}
updateValidity();
}
-void OfonoModemInterface::interfacesChanged(QStringList /*interfaces*/)
+void OfonoModemInterface::interfacesChanged(const QStringList& /*interfaces*/)
{
updateValidity();
}
#include <QDBusVariant>
#include <QStringList>
#include "ofonointerface.h"
+#include "ofonomodem.h"
#include "libofono-qt_global.h"
-class OfonoModem;
-
+//! This class implements a generic modem interface object
+/*!
+ * This class implements a generic modem interface object.
+ * It adds validity checking and modem binding to OfonoInterface class.
+ * It should not be instantiated directly; instead you should instantiate
+ * interface-specific subclasses.
+ */
class OFONO_QT_EXPORT OfonoModemInterface : public OfonoInterface
{
Q_OBJECT
public:
- OfonoModemInterface(const QString& modemId, const QString& ifname, GetPropertySetting setting, QObject *parent=0);
+
+ //! Construct a modem interface object
+ /*!
+ * Construct a modem interface object.
+ * \param modemSetting modem selection setting
+ * \param modemPath path to the modem (may not be significant, depending on modemSetting)
+ * \param ifname d-bus interface name
+ * \param propertySetting oFono d-bus properties setting
+ */
+ OfonoModemInterface(OfonoModem::SelectionSetting modemSetting, const QString& modemPath, const QString& ifname, GetPropertySetting propertySetting, QObject *parent=0);
~OfonoModemInterface();
+ //! Check that the modem interface object is valid
+ /*!
+ * Check that the modem interface object is valid. This means that a modem d-bus object
+ * exists and has the d-bus interface specified in the contstructor.
+ */
bool isValid() const;
+
+ //! Get the modem object that this interface belongs to
OfonoModem *modem() const;
signals:
+ //! Interface validity has changed
+ /*!
+ * Interface validity has changed. This may mean that modem has become unavailable
+ * (or available again) or that the modem interface has become unavailable
+ * (or available again)
+ */
void validityChanged(bool validity);
private:
private slots:
void modemValidityChanged(bool validity);
- void interfacesChanged(QStringList interfaces);
+ void interfacesChanged(const QStringList &interfaces);
private:
OfonoModem *m_m;
{
}
-QStringList OfonoModemManager::modems()
+QStringList OfonoModemManager::modems() const
{
return m_modems;
}
// 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
+ 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;
emit registerComplete(FALSE);
}
-QString OfonoNetworkOperator::name()
+QString OfonoNetworkOperator::name() const
{
return properties()["Name"].value<QString>();
}
-QString OfonoNetworkOperator::status()
+QString OfonoNetworkOperator::status() const
{
return properties()["Status"].value<QString>();
}
-QString OfonoNetworkOperator::mcc()
+QString OfonoNetworkOperator::mcc() const
{
return properties()["MobileCountryCode"].value<QString>();
}
-QString OfonoNetworkOperator::mnc()
+QString OfonoNetworkOperator::mnc() const
{
return properties()["MobileNetworkCode"].value<QString>();
}
-QStringList OfonoNetworkOperator::technologies()
+QStringList OfonoNetworkOperator::technologies() const
{
return properties()["Technologies"].value<QStringList>();
}
-QString OfonoNetworkOperator::additionalInfo()
+QString OfonoNetworkOperator::additionalInfo() const
{
return properties()["AdditionalInformation"].value<QString>();
}
#include "ofonointerface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono network operator API
+/*!
+ * This class is used to access oFono network operator API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/network-api.txt
+ */
class OFONO_QT_EXPORT OfonoNetworkOperator : public OfonoInterface
{
Q_OBJECT
void requestRegister();
- QString name();
- QString status();
- QString mcc();
- QString mnc();
- QStringList technologies();
- QString additionalInfo();
+ QString name() const;
+ QString status() const;
+ QString mcc() const;
+ QString mnc() const;
+ QStringList technologies() const;
+ QString additionalInfo() const;
signals:
void registerComplete(bool success);
- void nameChanged(QString name);
- void statusChanged(QString status);
- void mccChanged(QString mcc);
- void mncChanged(QString mnc);
- void technologiesChanged(QStringList technologies);
- void additionalInfoChanged(QString additionalInfo);
+ void nameChanged(const QString &name);
+ void statusChanged(const QString &status);
+ void mccChanged(const QString &mcc);
+ void mncChanged(const QString &mnc);
+ void technologiesChanged(const QStringList &technologies);
+ void additionalInfoChanged(const QString &additionalInfo);
private:
}
-OfonoNetworkRegistration::OfonoNetworkRegistration(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.NetworkRegistration", OfonoInterface::GetAllOnStartup, parent)
+OfonoNetworkRegistration::OfonoNetworkRegistration(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.NetworkRegistration", OfonoInterface::GetAllOnStartup, parent)
{
qDBusRegisterMetaType<OfonoOperatorStruct>();
qDBusRegisterMetaType<OfonoOperatorList>();
SCAN_TIMEOUT);
}
-QString OfonoNetworkRegistration::mode()
+QString OfonoNetworkRegistration::mode() const
{
return properties()["Mode"].value<QString>();
}
-QString OfonoNetworkRegistration::status()
+QString OfonoNetworkRegistration::status() const
{
return properties()["Status"].value<QString>();
}
-uint OfonoNetworkRegistration::locationAreaCode()
+uint OfonoNetworkRegistration::locationAreaCode() const
{
return properties()["LocationAreaCode"].value<uint>();
}
-uint OfonoNetworkRegistration::cellId()
+uint OfonoNetworkRegistration::cellId() const
{
return properties()["CellId"].value<uint>();
}
-QString OfonoNetworkRegistration::mcc()
+QString OfonoNetworkRegistration::mcc() const
{
return properties()["MobileCountryCode"].value<QString>();
}
-QString OfonoNetworkRegistration::mnc()
+QString OfonoNetworkRegistration::mnc() const
{
return properties()["MobileNetworkCode"].value<QString>();
}
-QString OfonoNetworkRegistration::technology()
+QString OfonoNetworkRegistration::technology() const
{
return properties()["Technology"].value<QString>();
}
-QString OfonoNetworkRegistration::name()
+QString OfonoNetworkRegistration::name() const
{
return properties()["Name"].value<QString>();
}
-uint OfonoNetworkRegistration::strength()
+uint OfonoNetworkRegistration::strength() const
{
return properties()["Strength"].value<uint>();
}
-QString OfonoNetworkRegistration::baseStation()
+QString OfonoNetworkRegistration::baseStation() const
{
return properties()["BaseStation"].value<QString>();
}
// Retrieve the ModemStruct data from the D-Bus argument
const QDBusArgument &operator>>(const QDBusArgument &argument, OfonoOperatorStruct &modem);
-
+//! This class is used to access oFono network registration API
+/*!
+ * This class is used to access oFono network registration API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/network-api.txt
+ */
class OFONO_QT_EXPORT OfonoNetworkRegistration : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoNetworkRegistration(QString modemId, QObject *parent=0);
+ OfonoNetworkRegistration(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoNetworkRegistration();
/* Properties */
- QString mode();
- QString status();
- uint locationAreaCode();
- uint cellId();
- QString mcc();
- QString mnc();
- QString technology();
- QString name();
- uint strength();
- QString baseStation();
+ QString mode() const;
+ QString status() const;
+ uint locationAreaCode() const;
+ uint cellId() const;
+ QString mcc() const;
+ QString mnc() const;
+ QString technology() const;
+ QString name() const;
+ uint strength() const;
+ QString baseStation() const;
void requestRegister();
void requestDeregister();
void requestScan();
signals:
- void modeChanged(QString mode);
- void statusChanged(QString status);
+ void modeChanged(const QString &mode);
+ void statusChanged(const QString &status);
void locationAreaCodeChanged(uint locationAreaCode);
void cellIdChanged(uint cellId);
- void mccChanged(QString mcc);
- void mncChanged(QString mnc);
- void technologyChanged(QString technology);
- void nameChanged(QString name);
+ void mccChanged(const QString &mcc);
+ void mncChanged(const QString &mnc);
+ void technologyChanged(const QString &technology);
+ void nameChanged(const QString &name);
void strengthChanged(uint strength);
- void baseStationChanged(QString baseStation);
+ void baseStationChanged(const QString &baseStation);
void registerComplete(bool success);
void deregisterComplete(bool success);
- void getOperatorsComplete(bool success, QStringList operatorIds);
- void scanComplete(bool success, QStringList operatorIds);
+ void getOperatorsComplete(bool success, const QStringList &operatorIds);
+ void scanComplete(bool success, const QStringList &operatorIds);
private slots:
void propertyChanged(const QString& property, const QVariant& value);
#define IMPORT_TIMEOUT 300000
-OfonoPhonebook::OfonoPhonebook(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.Phonebook", OfonoInterface::GetAllOnFirstRequest, parent)
+OfonoPhonebook::OfonoPhonebook(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.Phonebook", OfonoInterface::GetAllOnFirstRequest, parent)
{
}
IMPORT_TIMEOUT);
}
-void OfonoPhonebook::importResp(QString entries)
+void OfonoPhonebook::importResp(const QString &entries)
{
emit importComplete(true, entries);
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono phonebook API
+/*!
+ * This class is used to access oFono phonebook API
+ * oFono phonebook API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/phonebook-api.txt
+ */
class OFONO_QT_EXPORT OfonoPhonebook : public OfonoModemInterface
{
public:
- OfonoPhonebook(QString modemId, QObject *parent);
+ OfonoPhonebook(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent);
~OfonoPhonebook();
void requestImport();
signals:
- void importComplete(bool success, QString entries);
+ void importComplete(bool success, const QString &entries);
private slots:
- void importResp(QString entries);
- void importErr(const QDBusError& error);
+ void importResp(const QString &entries);
+ void importErr(const QDBusError &error);
private:
#include "ofonoradiosettings.h"
-OfonoRadioSettings::OfonoRadioSettings(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.RadioSettings", OfonoInterface::GetAllOnStartup, parent)
+OfonoRadioSettings::OfonoRadioSettings(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.RadioSettings", OfonoInterface::GetAllOnStartup, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
{
}
-QString OfonoRadioSettings::technologyPreference()
+QString OfonoRadioSettings::technologyPreference() const
{
return properties()["TechnologyPreference"].value<QString>();
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono radio settings API
+/*!
+ * This class is used to access oFono radio settings API
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/radio-settings-api.txt
+ */
class OFONO_QT_EXPORT OfonoRadioSettings : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoRadioSettings(QString modemId, QObject *parent=0);
+ OfonoRadioSettings(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoRadioSettings();
- QString technologyPreference();
+ QString technologyPreference() const;
void setTechnologyPreference(QString preference);
signals:
- void technologyPreferenceChanged(QString preference);
+ void technologyPreferenceChanged(const QString &preference);
void setTechnologyPreferenceFailed();
private slots:
#include "ofonosimmanager.h"
-OfonoSimManager::OfonoSimManager(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.SimManager", OfonoInterface::GetAllOnStartup, parent)
+OfonoSimManager::OfonoSimManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.SimManager", OfonoInterface::GetAllOnStartup, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
{
}
-void OfonoSimManager::requestChangePin(QString pintype, QString oldpin, QString newpin)
+void OfonoSimManager::requestChangePin(const QString &pintype, const QString &oldpin, const QString &newpin)
{
QDBusMessage request;
SLOT(changePinErr(const QDBusError&)));
}
-void OfonoSimManager::requestEnterPin(QString pintype, QString pin)
+void OfonoSimManager::requestEnterPin(const QString &pintype, const QString &pin)
{
QDBusMessage request;
SLOT(enterPinErr(const QDBusError&)));
}
-void OfonoSimManager::requestResetPin(QString pintype, QString puk, QString newpin)
+void OfonoSimManager::requestResetPin(const QString &pintype, const QString &puk, const QString &newpin)
{
QDBusMessage request;
SLOT(resetPinErr(const QDBusError&)));
}
-void OfonoSimManager::requestLockPin(QString pintype, QString pin)
+void OfonoSimManager::requestLockPin(const QString &pintype, const QString &pin)
{
QDBusMessage request;
SLOT(lockPinErr(const QDBusError&)));
}
-void OfonoSimManager::requestUnlockPin(QString pintype, QString pin)
+void OfonoSimManager::requestUnlockPin(const QString &pintype, const QString &pin)
{
QDBusMessage request;
SLOT(unlockPinErr(const QDBusError&)));
}
-void OfonoSimManager::setSubscriberNumbers(QStringList numbers)
+void OfonoSimManager::setSubscriberNumbers(const QStringList &numbers)
{
setProperty("SubscriberNumbers", qVariantFromValue(numbers));
}
-bool OfonoSimManager::present()
+bool OfonoSimManager::present() const
{
return properties()["Present"].value<bool>();
}
-QString OfonoSimManager::subscriberIdentity()
+QString OfonoSimManager::subscriberIdentity() const
{
return properties()["SubscriberIdentity"].value<QString>();
}
-QString OfonoSimManager::mobileCountryCode()
+QString OfonoSimManager::mobileCountryCode() const
{
return properties()["MobileCountryCode"].value<QString>();
}
-QString OfonoSimManager::mobileNetworkCode()
+QString OfonoSimManager::mobileNetworkCode() const
{
return properties()["MobileNetworkCode"].value<QString>();
}
-QStringList OfonoSimManager::subscriberNumbers()
+QStringList OfonoSimManager::subscriberNumbers() const
{
return properties()["SubscriberNumbers"].value<QStringList>();
}
-QMap<QString, QString> OfonoSimManager::serviceNumbers()
+QMap<QString, QString> OfonoSimManager::serviceNumbers() const
{
QMap<QString, QString> map;
properties()["ServiceNumbers"].value<QDBusArgument>() >> map;
return map;
}
-QString OfonoSimManager::pinRequired()
+QString OfonoSimManager::pinRequired() const
{
return properties()["PinRequired"].value<QString>();
}
-QStringList OfonoSimManager::lockedPins()
+QStringList OfonoSimManager::lockedPins() const
{
return properties()["LockedPins"].value<QStringList>();
}
-QString OfonoSimManager::cardIdentifier()
+QString OfonoSimManager::cardIdentifier() const
{
return properties()["CardIdentifier"].value<QString>();
}
-QStringList OfonoSimManager::preferredLanguages()
+QStringList OfonoSimManager::preferredLanguages() const
{
return properties()["PreferredLanguages"].value<QStringList>();
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono SIM API
+/*!
+ * This class is used to access oFono SIM API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/sim-api.txt
+ */
class OFONO_QT_EXPORT OfonoSimManager : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoSimManager(QString modemId, QObject *parent=0);
+ OfonoSimManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoSimManager();
/* Properties */
- bool present();
- QString subscriberIdentity();
- QString mobileCountryCode();
- QString mobileNetworkCode();
- QStringList subscriberNumbers();
- QMap<QString, QString> serviceNumbers();
- QString pinRequired();
- QStringList lockedPins();
- QString cardIdentifier();
- QStringList preferredLanguages();
+ bool present() const;
+ QString subscriberIdentity() const;
+ QString mobileCountryCode() const;
+ QString mobileNetworkCode() const;
+ QStringList subscriberNumbers() const;
+ QMap<QString, QString> serviceNumbers() const;
+ QString pinRequired() const;
+ QStringList lockedPins() const;
+ QString cardIdentifier() const;
+ QStringList preferredLanguages() const;
- void requestChangePin(QString pintype, QString oldpin, QString newpin);
- void requestEnterPin(QString pintype, QString pin);
- void requestResetPin(QString pintype, QString puk, QString newpin);
- void requestLockPin(QString pintype, QString pin);
- void requestUnlockPin(QString pintype, QString pin);
+ void requestChangePin(const QString &pintype, const QString &oldpin, const QString &newpin);
+ void requestEnterPin(const QString &pintype, const QString &pin);
+ void requestResetPin(const QString &pintype, const QString &puk, const QString &newpin);
+ void requestLockPin(const QString &pintype, const QString &pin);
+ void requestUnlockPin(const QString &pintype, const QString &pin);
- void setSubscriberNumbers(QStringList numbers);
+ void setSubscriberNumbers(const QStringList &numbers);
signals:
void presenceChanged(bool ispresent);
- void subscriberIdentityChanged(QString imsi);
- void mobileCountryCodeChanged(QString mcc);
- void mobileNetworkCodeChanged(QString mnc);
- void subscriberNumbersChanged(QStringList msisdns);
+ void subscriberIdentityChanged(const QString &imsi);
+ void mobileCountryCodeChanged(const QString &mcc);
+ void mobileNetworkCodeChanged(const QString &mnc);
+ void subscriberNumbersChanged(const QStringList &msisdns);
void setSubscriberNumbersFailed();
- void serviceNumbersChanged(QMap<QString, QString> sdns);
- void pinRequiredChanged(QString pintype);
- void lockedPinsChanged(QStringList pins);
- void cardIdentifierChanged(QString iccid);
- void preferredLanguagesChanged(QStringList languages);
+ void serviceNumbersChanged(const QMap<QString, QString> &sdns);
+ void pinRequiredChanged(const QString &pintype);
+ void lockedPinsChanged(const QStringList &pins);
+ void cardIdentifierChanged(const QString &iccid);
+ void preferredLanguagesChanged(const QStringList &languages);
void changePinComplete(bool success);
void enterPinComplete(bool success);
#define REQUEST_TIMEOUT 60000
-OfonoSupplementaryServices::OfonoSupplementaryServices(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.SupplementaryServices", OfonoInterface::GetAllOnStartup, parent)
+OfonoSupplementaryServices::OfonoSupplementaryServices(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.SupplementaryServices", OfonoInterface::GetAllOnStartup, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
{
}
-void OfonoSupplementaryServices::requestInitiate(QString command)
+void OfonoSupplementaryServices::requestInitiate(const QString &command)
{
QDBusMessage request;
REQUEST_TIMEOUT);
}
-void OfonoSupplementaryServices::requestRespond(QString reply)
+void OfonoSupplementaryServices::requestRespond(const QString &reply)
{
QDBusMessage request;
REQUEST_TIMEOUT);
}
-QString OfonoSupplementaryServices::state()
+QString OfonoSupplementaryServices::state() const
{
return properties()["State"].value<QString>();
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono supplementary services API
+/*!
+ * This class is used to access oFono supplementary services API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/supplementaryservices-api.txt
+ */
class OFONO_QT_EXPORT OfonoSupplementaryServices : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoSupplementaryServices(QString modemId, QObject *parent=0);
+ OfonoSupplementaryServices(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoSupplementaryServices();
/* Properties */
- QString state();
+ QString state() const;
- void requestInitiate(QString command);
- void requestRespond(QString reply);
+ void requestInitiate(const QString &command);
+ void requestRespond(const QString &reply);
void requestCancel();
signals:
- void notificationReceived(QString message);
- void requestReceived(QString message);
+ void notificationReceived(const QString &message);
+ void requestReceived(const QString &message);
- void stateChanged(QString state);
+ void stateChanged(const QString &state);
- void initiateUSSDComplete(QString ussdResp);
- void barringComplete(QString ssOp, QString cbService, QVariantMap cbMap);
- void forwardingComplete(QString ssOp, QString cfService, QVariantMap cfMap);
- void waitingComplete(QString ssOp, QVariantMap cwMap);
- void callingLinePresentationComplete(QString ssOp, QString status);
- void calledLinePresentationComplete(QString ssOp, QString status);
- void callingLineRestrictionComplete(QString ssOp, QString status);
- void calledLineRestrictionComplete(QString ssOp, QString status);
+ void initiateUSSDComplete(const QString &ussdResp);
+ void barringComplete(const QString &ssOp, const QString &cbService, const QVariantMap &cbMap);
+ void forwardingComplete(const QString &ssOp, const QString &cfService, const QVariantMap &cfMap);
+ void waitingComplete(const QString &ssOp, const QVariantMap &cwMap);
+ void callingLinePresentationComplete(const QString &ssOp, const QString &status);
+ void calledLinePresentationComplete(const QString &ssOp, const QString &status);
+ void callingLineRestrictionComplete(const QString &ssOp, const QString &status);
+ void calledLineRestrictionComplete(const QString &ssOp, const QString &status);
void initiateFailed();
- void respondComplete(bool success, QString message);
+ void respondComplete(bool success, const QString &message);
void cancelComplete(bool success);
private slots:
#include "ofonovoicecallmanager.h"
-OfonoVoiceCallManager::OfonoVoiceCallManager(QString modemId, QObject *parent)
- : OfonoModemInterface(modemId, "org.ofono.VoiceCallManager", OfonoInterface::GetAllOnStartup, parent)
+OfonoVoiceCallManager::OfonoVoiceCallManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent)
+ : OfonoModemInterface(modemSetting, modemPath, "org.ofono.VoiceCallManager", OfonoInterface::GetAllOnStartup, parent)
{
connect(this, SIGNAL(propertyChanged(const QString&, const QVariant&)),
this, SLOT(propertyChanged(const QString&, const QVariant&)));
{
}
-QStringList OfonoVoiceCallManager::emergencyNumbers()
+QStringList OfonoVoiceCallManager::emergencyNumbers() const
{
return properties()["EmergencyNumbers"].value<QStringList>();
}
#include "ofonomodeminterface.h"
#include "libofono-qt_global.h"
+//! This class is used to access oFono voice call manager API
+/*!
+ * This class is used to access oFono voice call manager API.
+ * The API is documented in
+ * http://git.kernel.org/?p=network/ofono/ofono.git;a=blob_plain;f=doc/voicecallmanager-api.txt
+ */
class OFONO_QT_EXPORT OfonoVoiceCallManager : public OfonoModemInterface
{
Q_OBJECT
public:
- OfonoVoiceCallManager(QString modemId, QObject *parent=0);
+ OfonoVoiceCallManager(OfonoModem::SelectionSetting modemSetting, const QString &modemPath, QObject *parent=0);
~OfonoVoiceCallManager();
/* Properties */
- QStringList emergencyNumbers();
+ QStringList emergencyNumbers() const;
signals:
- void emergencyNumbersChanged(QStringList numbers);
+ void emergencyNumbersChanged(const QStringList &numbers);
private slots:
void propertyChanged(const QString& property, const QVariant& value);
void initTestCase()
{
- m = new OfonoCallBarring(QString(), this);
+ m = new OfonoCallBarring(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(voiceIncomingComplete(bool, QString)), this,
void initTestCase()
{
- m = new OfonoCallForwarding(QString(), this);
+ m = new OfonoCallForwarding(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(voiceUnconditionalChanged(QString)), this,
void initTestCase()
{
- m = new OfonoCallMeter(QString(), this);
+ m = new OfonoCallMeter(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(callMeterChanged(uint)), this,
void initTestCase()
{
- m = new OfonoCallSettings(QString(), this);
+ m = new OfonoCallSettings(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(callingLinePresentationChanged(QString)), this,
void initTestCase()
{
- m = new OfonoMessageManager(QString(), this);
+ m = new OfonoMessageManager(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(serviceCenterAddressChanged(QString)),
void initTestCase()
{
- m = new OfonoMessageWaiting(QString(), this);
+ m = new OfonoMessageWaiting(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(voicemailWaitingChanged(bool)), this,
void validityChanged(bool validity)
{
qDebug() << "ValidityChanged" << validity;
- qDebug() << "validity" << m->isValid() << "modemid" << m->modemId();
+ qDebug() << "validity" << m->isValid() << "modemPath" << m->modemPath();
}
- void modemIdChanged(QString modemId)
+ void modemPathChanged(QString modemPath)
{
- qDebug() << "ModemIdChanged" << modemId;
- qDebug() << "validity" << m->isValid() << "modemid" << m->modemId();
+ qDebug() << "ModemPathChanged" << modemPath;
+ qDebug() << "validity" << m->isValid() << "modemPath" << m->modemPath();
}
void poweredChanged(bool powered)
void initTestCase()
{
- m = new OfonoModem("/isimodem0", this);
+ m = new OfonoModem(OfonoModem::ManualSelect, "/isimodem0", this);
// m = new OfonoModem(this);
connect(m, SIGNAL(validityChanged(bool)), this, SLOT(validityChanged(bool)));
- connect(m, SIGNAL(modemIdChanged(QString)),
- this, SLOT(modemIdChanged(QString)));
+ connect(m, SIGNAL(modemPathChanged(QString)),
+ this, SLOT(modemPathChanged(QString)));
connect(m, SIGNAL(poweredChanged(bool)), this, SLOT(poweredChanged(bool)));
connect(m, SIGNAL(onlineChanged(bool)), this, SLOT(onlineChanged(bool)));
connect(m, SIGNAL(nameChanged(QString)),
void testOfonoModem()
{
- qDebug() << "validity" << m->isValid() << "modemid" << m->modemId();
+ qDebug() << "validity" << m->isValid() << "modemPath" << m->modemPath();
qDebug() << m->powered() << m->online() << m->manufacturer() << m->model() << m->revision() << m->serial() << m->features() << m->interfaces();
m->setOnline(true);
QTest::qWait(120000);
void initTestCase()
{
- m = new OfonoNetworkRegistration(QString(), this);
+ m = new OfonoNetworkRegistration(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(registerComplete(bool)), this,
SLOT(registerComplete(bool)));
void initTestCase()
{
// m = new OfonoPhonebook("/isimodem0", this);
- m = new OfonoPhonebook(QString(), this);
+ m = new OfonoPhonebook(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this, SLOT(validityChanged(bool)));
connect(m, SIGNAL(importComplete(bool, QString)),
this, SLOT(importComplete(bool, QString)));
void initTestCase()
{
- m = new OfonoRadioSettings(QString(), this);
+ m = new OfonoRadioSettings(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(technologyPreferenceChanged(QString)),
void initTestCase()
{
- m = new OfonoSimManager(QString(), this);
+ m = new OfonoSimManager(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
connect(m, SIGNAL(presenceChanged(bool)),
private slots:
void initTestCase()
{
- m = new OfonoSupplementaryServices(QString(), this);
+ m = new OfonoSupplementaryServices(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(stateChanged(QString)),
this, SLOT(stateChanged(QString)));
connect(m, SIGNAL(initiateFailed()),
void initTestCase()
{
- m = new OfonoVoiceCallManager(QString(), this);
+ m = new OfonoVoiceCallManager(OfonoModem::AutomaticSelect, QString(), this);
connect(m, SIGNAL(validityChanged(bool)), this,
SLOT(validityChanged(bool)));
}