~indicator-applet-developers/indicator-network/trunk.15.10

« back to all changes in this revision

Viewing changes to src/sniffer/eventprinter.cpp

  • Committer: Pete Woods
  • Date: 2015-04-28 16:18:29 UTC
  • mfrom: (480.1.4 trunk)
  • Revision ID: pete.woods@canonical.com-20150428161829-ucf3i3svndl6x6ku
Simplify sniffer code

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#include "eventprinter.h"
21
21
 
22
22
#include "dbusdata.h"
23
 
#include "nmroot.h"
24
 
#include "ofonomodemmodem.h"
25
 
#include "ofonomodemnetworkregistration.h"
26
 
#include "ofonomodemsimmanager.h"
27
 
#include "ofonoroot.h"
28
 
#include "urfkillroot.h"
29
 
#include "urfkillswitch.h"
 
23
#include <NetworkManager.h>
 
24
#include <NetworkManagerInterface.h>
 
25
#include <URfkillInterface.h>
 
26
#include <URfkillKillswitchInterface.h>
 
27
 
 
28
#define slots
 
29
#include <qofono-qt5/qofonomanager.h>
 
30
#include <qofono-qt5/qofonomodem.h>
 
31
#include <qofono-qt5/qofononetworkregistration.h>
 
32
#include <qofono-qt5/qofonosimmanager.h>
 
33
#undef slots
 
34
 
 
35
// Lo-fi way of waiting for properties to populate
 
36
static void wait_for_a_bit()
 
37
{
 
38
    QEventLoop q;
 
39
    QTimer tT;
 
40
    tT.setSingleShot(true);
 
41
    QObject::connect(&tT, &QTimer::timeout, &q, &QEventLoop::quit);
 
42
    tT.start(50);
 
43
    q.exec();
 
44
}
30
45
 
31
46
EventPrinter::EventPrinter(QObject *parent) : QObject(parent) {
32
 
    urfkill = new UrfkillRoot(URFKILL_SERVICE, URFKILL_OBJECT, QDBusConnection::systemBus(), this);
33
 
    btkill = new UrfkillSwitch(URFKILL_SERVICE, URFKILL_BLUETOOTH_OBJECT, QDBusConnection::systemBus(), this);
34
 
    wlankill = new UrfkillSwitch(URFKILL_SERVICE, URFKILL_WLAN_OBJECT, QDBusConnection::systemBus(), this);
35
 
    nmroot = new NetworkManagerRoot(NM_SERVICE, NM_OBJECT, QDBusConnection::systemBus(), this);
 
47
    urfkill = new OrgFreedesktopURfkillInterface(URFKILL_SERVICE, URFKILL_OBJECT, QDBusConnection::systemBus(), this);
 
48
    btkill = new OrgFreedesktopURfkillKillswitchInterface(URFKILL_SERVICE, URFKILL_BLUETOOTH_OBJECT, QDBusConnection::systemBus(), this);
 
49
    wlankill = new OrgFreedesktopURfkillKillswitchInterface(URFKILL_SERVICE, URFKILL_WLAN_OBJECT, QDBusConnection::systemBus(), this);
 
50
    nmroot = new OrgFreedesktopNetworkManagerInterface(NM_DBUS_SERVICE, NM_DBUS_PATH, QDBusConnection::systemBus(), this);
36
51
 
37
52
    connect(urfkill, SIGNAL(FlightModeChanged(bool)), this, SLOT(flightModeChanged(bool)));
38
53
    connect(btkill, SIGNAL(StateChanged()), this, SLOT(btKillswitchChanged()));
40
55
    connect(nmroot, SIGNAL(StateChanged(uint)), this, SLOT(nmStateChanged(uint)));
41
56
    connect(nmroot, SIGNAL(PropertiesChanged(const QVariantMap&)), this, SLOT(nmPropertiesChanged(const QVariantMap&)));
42
57
 
43
 
    OfonoRoot ofono(OFONO_SERVICE, OFONO_OBJECT, QDBusConnection::systemBus(), nullptr);
44
 
    auto modems = ofono.GetModems().value();
 
58
    QOfonoManager ofono;
 
59
    wait_for_a_bit();
 
60
    auto modems = ofono.modems();
45
61
    if(modems.length() > 0) {
46
 
        modem1 = new OfonoModemModem(OFONO_SERVICE, modems[0].first.path(), QDBusConnection::systemBus(), this);
47
 
        connect(modem1, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
48
 
                SLOT(modem1PropertyChanged(const QString, const QDBusVariant)));
49
 
        simman1 = new OfonoModemSimManager(OFONO_SERVICE, modems[0].first.path(), QDBusConnection::systemBus(), this);
50
 
        connect(simman1, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
51
 
                SLOT(simman1PropertyChanged(const QString, const QDBusVariant)));
52
 
        netreg1 = new OfonoModemNetworkRegistration(OFONO_SERVICE, modems[0].first.path(), QDBusConnection::systemBus(), this);
53
 
        connect(netreg1, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
54
 
                SLOT(netreg1PropertyChanged(const QString, const QDBusVariant)));
 
62
        modem1 = new QOfonoModem(this);
 
63
        modem1->setModemPath(modems[0]);
 
64
        connect(modem1, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
65
                SLOT(modem1PropertyChanged(const QString&, const QVariant&)));
 
66
        simman1 = new QOfonoSimManager(this);
 
67
        simman1->setModemPath(modems[0]);
 
68
        connect(simman1, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
69
                SLOT(simman1PropertyChanged(const QString&, const QVariant&)));
 
70
        netreg1 = new QOfonoNetworkRegistration(this);
 
71
        netreg1->setModemPath(modems[0]);
 
72
        connect(netreg1, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
73
                SLOT(netreg1PropertyChanged(const QString&, const QVariant&)));
55
74
    } else {
56
75
        modem1 = nullptr;
57
76
        simman1 = nullptr;
58
77
        netreg1 = nullptr;
59
78
    }
60
79
    if(modems.length() > 1) {
61
 
        modem2 = new OfonoModemModem(OFONO_SERVICE, modems[1].first.path(), QDBusConnection::systemBus(), this);
62
 
        connect(modem2, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
63
 
                SLOT(modem2PropertyChanged(const QString, const QDBusVariant)));
64
 
        simman2 = new OfonoModemSimManager(OFONO_SERVICE, modems[1].first.path(), QDBusConnection::systemBus(), this);
65
 
        connect(simman2, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
66
 
                SLOT(simman2PropertyChanged(const QString, const QDBusVariant)));
67
 
        netreg2 = new OfonoModemNetworkRegistration(OFONO_SERVICE, modems[1].first.path(), QDBusConnection::systemBus(), this);
68
 
        connect(netreg2, SIGNAL(PropertyChanged(const QString, const QDBusVariant)), this,
69
 
                SLOT(netreg2PropertyChanged(const QString, const QDBusVariant)));
 
80
        modem2 = new QOfonoModem(this);
 
81
        modem2->setModemPath(modems[1]);
 
82
        connect(modem2, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
83
                SLOT(modem2PropertyChanged(const QString&, const QVariant&)));
 
84
        simman2 = new QOfonoSimManager(this);
 
85
        simman2->setModemPath(modems[1]);
 
86
        connect(simman2, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
87
                SLOT(simman2PropertyChanged(const QString&, const QVariant&)));
 
88
        netreg2 = new QOfonoNetworkRegistration(this);
 
89
        netreg2->setModemPath(modems[1]);
 
90
        connect(netreg2, SIGNAL(propertyChanged(const QString&, const QVariant&)), this,
 
91
                SLOT(netreg2PropertyChanged(const QString&, const QVariant&)));
70
92
    } else {
71
93
        modem2 = nullptr;
72
94
        simman2 = nullptr;
122
144
    printf("  ActiveConnections (now have %d)\n", nmroot->activeConnections().size());
123
145
}
124
146
 
125
 
void EventPrinter::modem1PropertyChanged(const QString name, const QDBusVariant value) {
 
147
void EventPrinter::modem1PropertyChanged(const QString &name, const QVariant &value) {
126
148
    modemPropertyChanged(1, name, value);
127
149
}
128
150
 
129
 
void EventPrinter::modem2PropertyChanged(const QString name, const QDBusVariant value) {
 
151
void EventPrinter::modem2PropertyChanged(const QString &name, const QVariant &value) {
130
152
    modemPropertyChanged(2, name, value);
131
153
}
132
154
 
133
 
void EventPrinter::modemPropertyChanged(const int modem, const QString &name, const QDBusVariant &value) {
134
 
    auto str = value.variant().toString();
 
155
void EventPrinter::modemPropertyChanged(const int modem, const QString &name, const QVariant &value) {
 
156
    auto str = value.toString();
135
157
    if(str.length() > 0) {
136
158
        str = " to " + str;
137
159
    }
138
160
    printf("Ofono modem %d property %s changed%s.\n", modem, name.toUtf8().data(), str.toUtf8().data());
139
161
}
140
162
 
141
 
void EventPrinter::simman1PropertyChanged(const QString name, const QDBusVariant value) {
 
163
void EventPrinter::simman1PropertyChanged(const QString &name, const QVariant &value) {
142
164
    simmanPropertyChanged(1, name, value);
143
165
}
144
166
 
145
 
void EventPrinter::simman2PropertyChanged(const QString name, const QDBusVariant value) {
 
167
void EventPrinter::simman2PropertyChanged(const QString &name, const QVariant &value) {
146
168
    simmanPropertyChanged(2, name, value);
147
169
}
148
170
 
149
 
void EventPrinter::simmanPropertyChanged(const int simman, const QString &name, const QDBusVariant &value) {
 
171
void EventPrinter::simmanPropertyChanged(const int simman, const QString &name, const QVariant &value) {
150
172
    if(name == "PinRequired") {
151
 
        printf("Ofono modem %d pin required changed to %s.\n", simman, value.variant().toString().toUtf8().data());
 
173
        printf("Ofono modem %d pin required changed to %s.\n", simman, value.toString().toUtf8().data());
152
174
    }
153
175
}
154
176
 
155
 
void EventPrinter::netreg1PropertyChanged(const QString name, const QDBusVariant value) {
 
177
void EventPrinter::netreg1PropertyChanged(const QString &name, const QVariant &value) {
156
178
    netregPropertyChanged(1, name, value);
157
179
}
158
180
 
159
 
void EventPrinter::netreg2PropertyChanged(const QString name, const QDBusVariant value) {
 
181
void EventPrinter::netreg2PropertyChanged(const QString &name, const QVariant &value) {
160
182
    netregPropertyChanged(2, name, value);
161
183
}
162
184
 
163
 
void EventPrinter::netregPropertyChanged(const int netreg, const QString &name, const QDBusVariant &value) {
 
185
void EventPrinter::netregPropertyChanged(const int netreg, const QString &name, const QVariant &value) {
164
186
    QString valuetext;
165
187
    if(name == "Strength") {
166
 
        valuetext = QString::number(value.variant().toInt());
 
188
        valuetext = QString::number(value.toInt());
167
189
    } else {
168
 
        valuetext = value.variant().toString();
 
190
        valuetext = value.toString();
169
191
    }
170
192
 
171
193
    printf("Ofono network registration %d property %s changed to %s.\n", netreg, name.toUtf8().data(), valuetext.toUtf8().data());