* Update CXX Standard to 14 to be able to use qOverload()
---
configure.ac | 4 +--
src/callmanager.cpp | 22 ++++++-------
src/control.cpp | 77 +++++++++++++++++++++------------------------
src/phonesim.cpp | 56 +++++++++++++++++----------------
src/phonesim.h | 3 +-
5 files changed, 80 insertions(+), 82 deletions(-)
diff --git a/configure.ac b/configure.ac
index e339691..5cc4545 100644
--- a/configure.ac
+++ b/configure.ac
@@ -25,8 +25,8 @@ AC_ARG_ENABLE(optimization,
AC_HELP_STRING([--disable-optimization],
PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Xml Qt5Network Qt5Script Qt5DBus
Qt5Widgets, dummy=yes,
AC_MSG_ERROR(Qt is required))
-# Needed for Qt 5.7
-CXXFLAGS="$CXXFLAGS --std=gnu++11"
+# Needed for qOverload
+CXXFLAGS="$CXXFLAGS --std=gnu++14"
AC_SUBST(QT_CFLAGS)
AC_SUBST(QT_LIBS)
diff --git a/src/callmanager.cpp b/src/callmanager.cpp
index 1995c6d..fbdb179 100644
--- a/src/callmanager.cpp
+++ b/src/callmanager.cpp
@@ -33,11 +33,11 @@ CallManager::CallManager( QObject *parent )
hangupTimer = new QTimer(this);
hangupTimer->setSingleShot(true);
- connect( hangupTimer, SIGNAL(timeout()), this, SLOT(hangupTimeout()) );
+ connect( hangupTimer, &QTimer::timeout, this, &CallManager::hangupTimeout
);
ringTimer = new QTimer(this);
ringTimer->setSingleShot(true);
- connect( ringTimer, SIGNAL(timeout()), this, SLOT(sendNextRing()) );
+ connect( ringTimer, &QTimer::timeout, this, &CallManager::sendNextRing );
}
CallManager::~CallManager()
@@ -92,19 +92,19 @@ bool CallManager::command( const QString& cmd )
// Check for special dial-back numbers.
if ( number == "199" ) {
send( "NO CARRIER" );
- QTimer::singleShot( 5000, this, SLOT(dialBack()) );
+ QTimer::singleShot( 5000, this, &CallManager::dialBack );
return true;
} else if ( number == "1993" ) {
send( "NO CARRIER" );
- QTimer::singleShot( 30000, this, SLOT(dialBack()) );
+ QTimer::singleShot( 30000, this, &CallManager::dialBack );
return true;
} else if ( number == "177" ) {
send( "NO CARRIER" );
- QTimer::singleShot( 2000, this, SLOT(dialBackWithHangup5()) );
+ QTimer::singleShot( 2000, this, &CallManager::dialBackWithHangup5
);
return true;
} else if ( number == "166" ) {
send( "NO CARRIER" );
- QTimer::singleShot( 1000, this, SLOT(dialBackWithHangup4()) );
+ QTimer::singleShot( 1000, this, &CallManager::dialBackWithHangup4
);
return true;
} else if ( number == "155" ) {
send( "BUSY" );
@@ -156,11 +156,11 @@ bool CallManager::command( const QString& cmd )
// Automatic accept of calls
if ( number == "6789" ) {
- QTimer::singleShot( 1000, this, SLOT(dialingToConnected()) );
+ QTimer::singleShot( 1000, this, &CallManager::dialingToConnected );
} else if ( number.startsWith( "05123" ) ) {
- QTimer::singleShot( 1000, this, SLOT(dialingToConnected()) );
+ QTimer::singleShot( 1000, this, &CallManager::dialingToConnected );
} else if ( number.startsWith( "06123" ) ) {
- QTimer::singleShot( 1000, this, SLOT(dialingToAlerting()) );
+ QTimer::singleShot( 1000, this, &CallManager::dialingToAlerting );
}
// Data call - phone number 696969
@@ -726,7 +726,7 @@ void CallManager::dialingToConnected()
temp = temp.replace( "05123" , "" );
int timeout = temp.toInt( &ok, 10 );
timeout = ok ? timeout * 1000 : 10000;
- QTimer::singleShot( timeout, this, SLOT(hangup()) );
+ QTimer::singleShot( timeout, this, &CallManager::hangup );
}
}
@@ -750,7 +750,7 @@ void CallManager::dialingToAlerting()
temp = temp.replace( "06123" , "" );
int timeout = temp.toInt( &ok, 10 );
timeout = ok ? timeout * 1000 : 10000;
- QTimer::singleShot( timeout, this, SLOT(dialingToConnected()) );
+ QTimer::singleShot( timeout, this, &CallManager::dialingToConnected );
}
}
diff --git a/src/control.cpp b/src/control.cpp
index 1ea5294..d4732b7 100644
--- a/src/control.cpp
+++ b/src/control.cpp
@@ -63,34 +63,34 @@ ControlWidget::ControlWidget(const QString &ruleFile,
Control *parent)
bus.registerObject("/", script, QDBusConnection::ExportAllSlots);
- connect(ui->hsSignalQuality, SIGNAL(valueChanged(int)), this,
SLOT(sendSQ()));
- connect(ui->hsBatteryCharge, SIGNAL(valueChanged(int)), this,
SLOT(sendBC()));
- connect(ui->hsBatteryCharging, SIGNAL(stateChanged(int)), this,
SLOT(chargingChanged(int)));
- connect(ui->pbSelectOperator, SIGNAL(clicked()), this, SLOT(sendOPS()));
- connect(ui->pbRegistration, SIGNAL(clicked()), this, SLOT(sendREG()));
- connect(ui->pbSendCellBroadcast, SIGNAL(clicked()), this, SLOT(sendCBM()));
- connect(ui->pbSendSMSMessage, SIGNAL(clicked()), this,
SLOT(sendSMSMessage()));
- connect(ui->pbFile, SIGNAL(clicked()), this, SLOT(selectFile()));
- connect(ui->pbSendSMSDatagram, SIGNAL(clicked()), this,
SLOT(sendSMSDatagram()));
- connect(ui->pbIncomingCall, SIGNAL(clicked()), this, SLOT(sendCall()));
- connect(ui->openSpecButton, SIGNAL(clicked()), this,
SLOT(resetTranslator()));
- connect(ui->atCheckBox, SIGNAL(clicked()), this, SLOT(atChanged()));
- connect(ui->pbAddMessage, SIGNAL(clicked()), this, SLOT(addVoicemail()));
- connect(ui->pbRemoveMessage, SIGNAL(clicked()), this,
SLOT(delVoicemail()));
- connect(ui->pbNotifyUDH, SIGNAL(clicked()), this, SLOT(sendVMNotify()));
- connect(ui->pbNotifyUDHEnhanced, SIGNAL(clicked()), this,
SLOT(sendEVMNotify()));
- connect(ui->pbSendUSSD, SIGNAL(clicked()), this, SLOT(sendUSSD()));
- connect(ui->pbCancelUSSD, SIGNAL(clicked()), this, SLOT(cancelUSSD()));
- connect(ui->cbSimInserted, SIGNAL(clicked()), this,
SLOT(simInsertRemove()));
- connect(ui->pbStart, SIGNAL(clicked()), this, SLOT(simAppStart()));
- connect(ui->pbAbort, SIGNAL(clicked()), this, SLOT(simAppAbort()));
- connect(ui->pbReset, SIGNAL(clicked()), this, SLOT(modemSilentReset()));
- connect(ui->pbSendGNSSData, SIGNAL(clicked()), this, SLOT(sendGNSSData()));
- connect(ui->pbGNSSDefault, SIGNAL(clicked()), this,
SLOT(setDefaultGNSSData()));
- connect(ui->pbSendNotif, SIGNAL(clicked()), this, SLOT(sendCSSN()));
- connect(ui->pbAlerting, SIGNAL(clicked()), this, SLOT(setStateAlerting()));
- connect(ui->pbActive, SIGNAL(clicked()), this, SLOT(setStateConnected()));
- connect(ui->pbHangup, SIGNAL(clicked()), this, SLOT(setStateHangup()));
+ connect(ui->hsSignalQuality, &QSlider::valueChanged, this,
&ControlWidget::sendSQ);
+ connect(ui->hsBatteryCharge, &QSlider::valueChanged, this,
&ControlWidget::sendBC);
+ connect(ui->hsBatteryCharging, &QCheckBox::stateChanged, this,
&ControlWidget::chargingChanged);
+ connect(ui->pbSelectOperator, &QPushButton::clicked, this,
&ControlWidget::sendOPS);
+ connect(ui->pbRegistration, &QPushButton::clicked, this,
&ControlWidget::sendREG);
+ connect(ui->pbSendCellBroadcast, &QPushButton::clicked, this,
&ControlWidget::sendCBM);
+ connect(ui->pbSendSMSMessage, &QPushButton::clicked, this,
&ControlWidget::sendSMSMessage);
+ connect(ui->pbFile, &QPushButton::clicked, this,
&ControlWidget::selectFile);
+ connect(ui->pbSendSMSDatagram, &QPushButton::clicked, this,
&ControlWidget::sendSMSDatagram);
+ connect(ui->pbIncomingCall, &QPushButton::clicked, this,
&ControlWidget::sendCall);
+ connect(ui->openSpecButton, &QPushButton::clicked, this,
&ControlWidget::resetTranslator);
+ connect(ui->atCheckBox, &QCheckBox::clicked, this,
&ControlWidget::atChanged);
+ connect(ui->pbAddMessage, &QPushButton::clicked, this,
&ControlWidget::addVoicemail);
+ connect(ui->pbRemoveMessage, &QPushButton::clicked, this,
&ControlWidget::delVoicemail);
+ connect(ui->pbNotifyUDH, &QPushButton::clicked, this,
&ControlWidget::sendVMNotify);
+ connect(ui->pbNotifyUDHEnhanced, &QPushButton::clicked, this,
&ControlWidget::sendEVMNotify);
+ connect(ui->pbSendUSSD, &QPushButton::clicked, this,
&ControlWidget::sendUSSD);
+ connect(ui->pbCancelUSSD, &QPushButton::clicked, this,
&ControlWidget::cancelUSSD);
+ connect(ui->cbSimInserted, &QCheckBox::clicked, this,
&ControlWidget::simInsertRemove);
+ connect(ui->pbStart, &QPushButton::clicked, this,
&ControlWidget::simAppStart);
+ connect(ui->pbAbort, &QPushButton::clicked, this,
&ControlWidget::simAppAbort);
+ connect(ui->pbReset, &QPushButton::clicked, this,
&ControlWidget::modemSilentReset);
+ connect(ui->pbSendGNSSData, &QPushButton::clicked, this,
&ControlWidget::sendGNSSData);
+ connect(ui->pbGNSSDefault, &QPushButton::clicked, this,
&ControlWidget::setDefaultGNSSData);
+ connect(ui->pbSendNotif, &QPushButton::clicked, this,
&ControlWidget::sendCSSN);
+ connect(ui->pbAlerting, &QPushButton::clicked, this,
&ControlWidget::setStateAlerting);
+ connect(ui->pbActive, &QPushButton::clicked, this,
&ControlWidget::setStateConnected);
+ connect(ui->pbHangup, &QPushButton::clicked, this,
&ControlWidget::setStateHangup);
QStringList headers;
headers << "Sender" << "Priority" << "Notification Status";
@@ -120,19 +120,14 @@ Control::Control(const QString& ruleFile, SimRules *sr,
QObject *parent)
: HardwareManipulator(sr, parent),
widget(new ControlWidget(ruleFile, this))
{
- QList<QByteArray> proxySignals;
- proxySignals
- << SIGNAL(unsolicitedCommand(QString))
- << SIGNAL(command(QString))
- << SIGNAL(variableChanged(QString,QString))
- << SIGNAL(switchTo(QString))
- << SIGNAL(startIncomingCall(QString, QString, QString))
- << SIGNAL(stateChangedToAlerting())
- << SIGNAL(stateChangedToConnected())
- << SIGNAL(stateChangedToHangup(int));
-
- foreach (QByteArray sig, proxySignals)
- connect(widget, sig, this, sig);
+ connect(widget, &ControlWidget::unsolicitedCommand, this,
&Control::unsolicitedCommand);
+ connect(widget, &ControlWidget::command, this, &Control::command);
+ connect(widget, &ControlWidget::variableChanged, this,
&Control::variableChanged);
+ connect(widget, &ControlWidget::switchTo, this, &Control::switchTo);
+ connect(widget, &ControlWidget::startIncomingCall, this,
&Control::startIncomingCall);
+ connect(widget, &ControlWidget::stateChangedToAlerting, this,
&Control::stateChangedToAlerting);
+ connect(widget, &ControlWidget::stateChangedToConnected, this,
&Control::stateChangedToConnected);
+ connect(widget, &ControlWidget::stateChangedToHangup, this,
&Control::stateChangedToHangup);
}
Control::~Control()
diff --git a/src/phonesim.cpp b/src/phonesim.cpp
index ba99fd0..1fd3c15 100644
--- a/src/phonesim.cpp
+++ b/src/phonesim.cpp
@@ -31,6 +31,7 @@
#include <qbytearray.h>
#include <qregexp.h>
#include <qdebug.h>
+#include <qglobal.h>
#define PHONEBOOK_NLENGTH 32
#define PHONEBOOK_TLENGTH 16
@@ -362,8 +363,8 @@ bool SimChat::command( const QString& cmd )
timer->setSingleShot( true );
- connect(timer, SIGNAL(timeout()), this->state()->rules(),
- SLOT(delaySetVariable()));
+ connect(timer, &QTimer::timeout, this->state()->rules(),
+ &SimRules::delaySetVariable);
timer->start( delay );
} else
state()->rules()->setVariable( variable, val );
@@ -464,7 +465,7 @@ SimUnsolicited::SimUnsolicited( SimState *state,
SimXmlNode& e )
timer = new QTimer( this );
timer->setSingleShot( true );
- connect( timer, SIGNAL(timeout()), this, SLOT(timeout()) );
+ connect( timer, &QTimer::timeout, this, &SimUnsolicited::timeout );
}
@@ -527,35 +528,36 @@ SimRules::SimRules(qintptr fd, QObject *p, const
QString& filename, HardwareMan
machine = hmf->create(this, nullptr);
if (machine) {
- connect(machine, SIGNAL(unsolicitedCommand(QString)),
- this, SLOT(unsolicited(QString)));
- connect(machine, SIGNAL(command(QString)),
- this, SLOT(command(QString)));
- connect(machine, SIGNAL(variableChanged(QString,QString)),
- this, SLOT(setVariable(QString,QString)));
- connect(machine, SIGNAL(switchTo(QString)),
- this, SLOT(switchTo(QString)));
+ connect(machine, &HardwareManipulator::unsolicitedCommand,
+ this, &SimRules::unsolicited);
+ connect(machine, &HardwareManipulator::command,
+ this, &SimRules::command);
+ connect(machine, &HardwareManipulator::variableChanged,
+ this, &SimRules::setVariable);
+ connect(machine, &HardwareManipulator::switchTo,
+ this, &SimRules::switchTo);
}
+
_callManager = new CallManager(this);
- connect( _callManager, SIGNAL(send(QString)),
- this, SLOT(respond(QString)) );
- connect( _callManager, SIGNAL(unsolicited(QString)),
- this, SLOT(unsolicited(QString)) );
- connect( _callManager, SIGNAL(dialCheck(QString,bool&)),
- this, SLOT(dialCheck(QString,bool&)) );
+ connect( _callManager, &CallManager::send,
+ this, qOverload<const QString &>( &SimRules::respond ) );
+ connect( _callManager, &CallManager::unsolicited,
+ this, &SimRules::unsolicited );
+ connect( _callManager, &CallManager::dialCheck,
+ this, &SimRules::dialCheck );
if ( machine ) {
- connect( machine, SIGNAL(startIncomingCall(QString,QString,QString)),
- _callManager,
SLOT(startIncomingCall(QString,QString,QString)) );
- connect ( _callManager, SIGNAL( callStatesChanged( QList<CallInfo> * )
),
- machine, SLOT( callManagement( QList<CallInfo> * ) ) );
- connect ( machine, SIGNAL( stateChangedToAlerting() ), _callManager,
- SLOT( dialingToAlerting() ) );
- connect ( machine, SIGNAL( stateChangedToConnected() ), _callManager,
- SLOT( dialingToConnected() ) );
- connect ( machine, SIGNAL( stateChangedToHangup( int ) ), _callManager,
- SLOT( hangupRemote( int ) ) );
+ connect( machine, &HardwareManipulator::startIncomingCall,
_callManager,
+ qOverload<const QString &, const QString &, const QString &>(
&CallManager::startIncomingCall ) );
+ connect ( _callManager, &CallManager::callStatesChanged,
+ machine, &HardwareManipulator::callManagement);
+ connect ( machine, &HardwareManipulator::stateChangedToAlerting,
_callManager,
+ &CallManager::dialingToAlerting );
+ connect ( machine, &HardwareManipulator::stateChangedToConnected,
_callManager,
+ &CallManager::dialingToConnected );
+ connect ( machine, &HardwareManipulator::stateChangedToHangup,
_callManager,
+ &CallManager::hangupRemote );
}
connect(this,SIGNAL(readyRead()),
diff --git a/src/phonesim.h b/src/phonesim.h
index 65ea794..ac5084d 100644
--- a/src/phonesim.h
+++ b/src/phonesim.h
@@ -300,6 +300,8 @@ public slots:
// Set a variable to a new value.
void setVariable( const QString& name, const QString& value );
+ void delaySetVariable();
+
// Switch to a new simulator state.
void switchTo(const QString& name);
@@ -320,7 +322,6 @@ private slots:
void tryReadCommand();
void destruct();
void delayTimeout();
- void delaySetVariable();
void dialCheck( const QString& number, bool& ok );
private:
--
2.24.0
_______________________________________________
ofono mailing list -- [email protected]
To unsubscribe send an email to [email protected]