to indicate when the CallManager connection has changed. Without this if CallManager wasn't ready during
the initial startup, certain connections wouldn't be made.
Connections {
target: adapter
onModemOnlineChanged: {
- console.log("BJONES POWERED HAS CHANGED!")
+
+ //If the modem gets powered down for any reason, attempt to power it again to maintain connection
if (!adapter.modemOnline)
{
- console.log("BJONES MODEM NOW POWERED DOWN TRYING TO RECONNECT")
adapter.modemOnline = true
}
}
model: btDevicesModel
Component.onCompleted: {
- if (!adapter.modemOnline)
+
+ //Once model is completed, check if the modem is powered. If not, power it
+ if (!adapter.modemOnline)
{
- console.log("BJONES previously created modem is not powered! Try and re-connect")
adapter.modemOnline = true
}
}
}
onConnectedChanged: {
- console.log("device CONNECTED, attempting to hook up audio")
- // device.connectAudio()
- // device.connectAudioSrc()
- // device.connectInput()
}
}
connect(this,SIGNAL(callsChanged()),this,SLOT(callChangedSlot()));
+ connect(this, SIGNAL(validityChanged(bool)), this, SLOT(modemValidityChanged(bool)) );
+
if (isValid())
emit connected();
}
d->callItems.clear();
}
+void CallManager::modemValidityChanged(bool valid)
+{
+ TRACE;
+ if (valid)
+ emit connected();
+}
+
QList<CallItem *> CallManager::getCallItems() const
{
TRACE;
void sendTonesFinished(const bool status);
void callStateChanged();
void callMultipartyChanged();
+ void modemValidityChanged(bool valid);
// Handlers for Resource Policy Manager states and conditions
void proceedCallDial(const QString number);
connect(this,
SIGNAL(ModemRemoved(const QDBusObjectPath&)),
SLOT(modemRemoved(const QDBusObjectPath&)));
+
}
gManager = this;
m_modemList.removeDuplicates();
setModem(in0.path());
+ setCallManager(m_modemPath);
}
void ManagerProxy::modemRemoved(const QDBusObjectPath &in0)
m_modem->isValid() &&
m_modem->path() == modemPath)
{
+ //If we have a modem, it's valid, but not powered, power it up.
if (!m_modem->powered())
m_modem->setPowered(true);
- qDebug()<<"BJONES setting modem, but we already have it! If not powered, power that thing!";
-
return;
}
void ManagerProxy::setCallManager(QString modempath)
{
+ TRACE
if (!m_modem || !m_modem->isValid())
return;
}
}
else {
- if(m_callManager || !m_callManager->isValid()) {
- delete m_callManager;
- m_callManager = new CallManager(modempath);
- emit callManagerChanged();
- }
+
+ if(m_callManager)
+ delete m_callManager;
+
+ m_callManager = new CallManager(modempath);
+ connect(m_callManager, SIGNAL(connected()), this, SIGNAL(callManagerChanged()));
+ emit callManagerChanged();
}
}
TRACE;
CallManager *cm = ManagerProxy::instance()->callManager();
+ if (ManagerProxy::instance()->modem() && ManagerProxy::instance()->modem()->isValid())
+ {
+ connect(ManagerProxy::instance()->modem(), SIGNAL(poweredChanged(bool)), this, SIGNAL(modemOnlineChanged(bool)));
+ }
+
if (cm && cm->isValid())
{
disconnect(cm, SIGNAL(callsChanged()));
disconnect(cm, SIGNAL(incomingCall(CallItem*)));
connect(cm, SIGNAL(callsChanged()), this, SLOT(onCallsChanged()));
connect(cm, SIGNAL(incomingCall(CallItem*)), SLOT(onIncomingCall(CallItem*)));
-
- if (ManagerProxy::instance()->modem() && ManagerProxy::instance()->modem()->isValid())
- {
- connect(ManagerProxy::instance()->modem(), SIGNAL(poweredChanged(bool)), this, SIGNAL(modemOnlineChanged(bool)));
- }
qDebug() << QString("CallMgr is connected");
}
else if (cm)