-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClassOfono.cpp
56 lines (46 loc) · 1.88 KB
/
ClassOfono.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include "ClassOfono.h"
Ofono :: Ofono(QObject *parent)
{
_modemPath = MODEM_PATH;
OrgOfonoVoiceCallManagerInterface *voicecallManager = new OrgOfonoVoiceCallManagerInterface("org.ofono", _modemPath, QDBusConnection::systemBus());
connect(voicecallManager, SIGNAL(CallAdded(QDBusObjectPath, QVariantMap)), this, SLOT(CallAdded(const QDBusObjectPath, const QVariantMap)));
connect(voicecallManager, SIGNAL(CallRemoved(QDBusObjectPath)), this, SLOT(CallRemoved(const QDBusObjectPath)));
connect(voicecallManager, SIGNAL(PropertyChanged(QString, QDBusVariant)), this, SLOT(CallPropertyChanged(const QString, const QDBusVariant)));
}
void Ofono :: setPowerOn()
{
OrgOfonoModemInterface *ofono = new OrgOfonoModemInterface("org.ofono", _modemPath, QDBusConnection::systemBus());
ofono->SetProperty("Powered", QDBusVariant(bool(true)));
}
void Ofono :: setPowerOff()
{
OrgOfonoModemInterface *ofono = new OrgOfonoModemInterface("org.ofono", _modemPath, QDBusConnection::systemBus());
ofono->SetProperty("Powered", QDBusVariant(bool(false)));
}
void Ofono :: listModems()
{
// OrgOfonoManagerInterface *ofono = new OrgOfonoManagerInterface("org.ofono", "/", QDBusConnection::systemBus());
// qDebug() << ofono->GetModems();
}
void Ofono :: dialNumber(QString number)
{
OrgOfonoVoiceCallManagerInterface *ofono = new OrgOfonoVoiceCallManagerInterface("org.ofono", _modemPath, QDBusConnection::systemBus());
ofono->Dial(number, "default");
qDebug() << "Dialing: " << number;
}
void Ofono :: CallAdded(const QDBusObjectPath &object, const QVariantMap &values)
{
QString type = values["State"].toString();
QString number = values["LineIdentification"].toString();
if (number == "")
number = "No Caller ID";
if (type == "incoming")
{
emit incomingCall(number);
}
Voicecall *voicecall = new Voicecall(object);
}
void Ofono :: CallRemoved(const QDBusObjectPath &object)
{
qDebug() << "call removed";
}