Qt 4.8
qt-4.8.6
src
plugins
bearer
networkmanager
qnmdbushelper.cpp
Go to the documentation of this file.
1
/****************************************************************************
2
**
3
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
5
**
6
** This file is part of the plugins of the Qt Toolkit.
7
**
8
** $QT_BEGIN_LICENSE:LGPL$
9
** Commercial License Usage
10
** Licensees holding valid commercial Qt licenses may use this file in
11
** accordance with the commercial license agreement provided with the
12
** Software or, alternatively, in accordance with the terms contained in
13
** a written agreement between you and Digia. For licensing terms and
14
** conditions see http://qt.digia.com/licensing. For further information
15
** use the contact form at http://qt.digia.com/contact-us.
16
**
17
** GNU Lesser General Public License Usage
18
** Alternatively, this file may be used under the terms of the GNU Lesser
19
** General Public License version 2.1 as published by the Free Software
20
** Foundation and appearing in the file LICENSE.LGPL included in the
21
** packaging of this file. Please review the following information to
22
** ensure the GNU Lesser General Public License version 2.1 requirements
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
**
25
** In addition, as a special exception, Digia gives you certain additional
26
** rights. These rights are described in the Digia Qt LGPL Exception
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
**
29
** GNU General Public License Usage
30
** Alternatively, this file may be used under the terms of the GNU
31
** General Public License version 3.0 as published by the Free Software
32
** Foundation and appearing in the file LICENSE.GPL included in the
33
** packaging of this file. Please review the following information to
34
** ensure the GNU General Public License version 3.0 requirements will be
35
** met: http://www.gnu.org/copyleft/gpl.html.
36
**
37
**
38
** $QT_END_LICENSE$
39
**
40
****************************************************************************/
41
42
// this class is for helping qdbus get stuff
43
44
#include "
qnmdbushelper.h
"
45
46
#include "
qnetworkmanagerservice.h
"
47
48
#include <QDBusError>
49
#include <QDBusInterface>
50
#include <QDBusMessage>
51
#include <QDBusReply>
52
53
#include <QDebug>
54
55
#ifndef QT_NO_DBUS
56
57
QT_BEGIN_NAMESPACE
58
59
QNmDBusHelper::QNmDBusHelper
(
QObject
* parent)
60
:
QObject
(parent)
61
{
62
}
63
64
QNmDBusHelper::~QNmDBusHelper
()
65
{
66
}
67
68
void
QNmDBusHelper::deviceStateChanged
(
quint32
state)
69
{
70
QDBusMessage
msg = this->
message
();
71
if
(state ==
NM_DEVICE_STATE_ACTIVATED
72
|| state ==
NM_DEVICE_STATE_DISCONNECTED
73
|| state ==
NM_DEVICE_STATE_UNAVAILABLE
74
|| state ==
NM_DEVICE_STATE_FAILED
) {
75
emit
pathForStateChanged
(msg.
path
(), state);
76
}
77
}
78
79
void
QNmDBusHelper::slotAccessPointAdded
(
QDBusObjectPath
path)
80
{
81
if
(path.
path
().
length
() > 2) {
82
QDBusMessage
msg = this->
message
();
83
emit
pathForAccessPointAdded
(msg.
path
(), path);
84
}
85
}
86
87
void
QNmDBusHelper::slotAccessPointRemoved
(
QDBusObjectPath
path)
88
{
89
if
(path.
path
().
length
() > 2) {
90
QDBusMessage
msg = this->
message
();
91
emit
pathForAccessPointRemoved
(msg.
path
(), path);
92
}
93
}
94
95
void
QNmDBusHelper::slotPropertiesChanged
(
QMap<QString,QVariant>
map
)
96
{
97
QDBusMessage
msg = this->
message
();
98
QMapIterator<QString, QVariant> i(map);
99
while
(i.hasNext()) {
100
i.next();
101
if
( i.key() ==
"State"
) {
//state only applies to device interfaces
102
quint32
state = i.value().toUInt();
103
if
( state ==
NM_DEVICE_STATE_ACTIVATED
104
|| state ==
NM_DEVICE_STATE_DISCONNECTED
105
|| state ==
NM_DEVICE_STATE_UNAVAILABLE
106
|| state ==
NM_DEVICE_STATE_FAILED
) {
107
emit
pathForPropertiesChanged
( msg.
path
(),
map
);
108
}
109
}
else
if
( i.key() ==
"ActiveAccessPoint"
) {
110
emit
pathForPropertiesChanged
(msg.
path
(),
map
);
111
// qWarning() << __PRETTY_FUNCTION__ << i.key() << ": " << i.value().value<QDBusObjectPath>().path();
112
// } else if( i.key() == "Strength")
113
// qWarning() << __PRETTY_FUNCTION__ << i.key() << ": " << i.value().toUInt();
114
// else
115
// qWarning() << __PRETTY_FUNCTION__ << i.key() << ": " << i.value();
116
}
else
if
(i.key() ==
"ActiveConnections"
) {
117
emit
pathForPropertiesChanged
(msg.
path
(),
map
);
118
}
119
}
120
}
121
122
void
QNmDBusHelper::slotSettingsRemoved
()
123
{
124
QDBusMessage
msg = this->
message
();
125
emit
pathForSettingsRemoved
(msg.
path
());
126
}
127
128
QT_END_NAMESPACE
129
130
#endif // QT_NO_DBUS
QDBusContext::message
const QDBusMessage & message() const
Returns the message that generated this call.
Definition:
qdbuscontext.cpp:146
QT_END_NAMESPACE
#define QT_END_NAMESPACE
This macro expands to.
Definition:
qglobal.h:90
QNmDBusHelper::slotAccessPointAdded
void slotAccessPointAdded(QDBusObjectPath)
Definition:
qnmdbushelper.cpp:79
QString::length
int length() const
Returns the number of characters in this string.
Definition:
qstring.h:696
QNmDBusHelper::pathForPropertiesChanged
void pathForPropertiesChanged(const QString &, QMap< QString, QVariant >)
QNmDBusHelper::slotSettingsRemoved
void slotSettingsRemoved()
Definition:
qnmdbushelper.cpp:122
QObject
The QObject class is the base class of all Qt objects.
Definition:
qobject.h:111
QtConcurrent::map
QFuture< void > map(Sequence &sequence, MapFunction function)
QT_BEGIN_NAMESPACE
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition:
qglobal.h:89
NM_DEVICE_STATE_ACTIVATED
Definition:
qnetworkmanagerservice.h:91
QDBusMessage::path
QString path() const
Returns the path of the object that this message is being sent to (in the case of a method call) or b...
Definition:
qdbusmessage.cpp:595
QNmDBusHelper::deviceStateChanged
void deviceStateChanged(quint32)
Definition:
qnmdbushelper.cpp:68
emit
#define emit
Definition:
qobjectdefs.h:76
QDBusObjectPath::path
QString path() const
Returns this object path.
Definition:
qdbusextratypes.h:74
QNmDBusHelper::QNmDBusHelper
QNmDBusHelper(QObject *parent=0)
Definition:
qnmdbushelper.cpp:59
NM_DEVICE_STATE_UNAVAILABLE
Definition:
qnetworkmanagerservice.h:85
QNmDBusHelper::~QNmDBusHelper
~QNmDBusHelper()
Definition:
qnmdbushelper.cpp:64
NM_DEVICE_STATE_DISCONNECTED
Definition:
qnetworkmanagerservice.h:86
QNmDBusHelper::slotPropertiesChanged
void slotPropertiesChanged(QMap< QString, QVariant >)
Definition:
qnmdbushelper.cpp:95
QNmDBusHelper::slotAccessPointRemoved
void slotAccessPointRemoved(QDBusObjectPath)
Definition:
qnmdbushelper.cpp:87
QNmDBusHelper::pathForAccessPointRemoved
void pathForAccessPointRemoved(const QString &, QDBusObjectPath)
qnetworkmanagerservice.h
map
Definition:
qeuckrcodec.cpp:711
quint32
unsigned int quint32
Definition:
qglobal.h:938
QDBusObjectPath
The QDBusObjectPath class enables the programmer to identify the OBJECT_PATH type provided by the D-B...
Definition:
qdbusextratypes.h:62
QDBusMessage
The QDBusMessage class represents one message sent or received over the D-Bus bus.
Definition:
qdbusmessage.h:59
QNmDBusHelper::pathForSettingsRemoved
void pathForSettingsRemoved(const QString &)
QNmDBusHelper::pathForAccessPointAdded
void pathForAccessPointAdded(const QString &, QDBusObjectPath)
qnmdbushelper.h
QNmDBusHelper::pathForStateChanged
void pathForStateChanged(const QString &, quint32)
QMap< QString, QVariant >
NM_DEVICE_STATE_FAILED
Definition:
qnetworkmanagerservice.h:92
Qt 4.8 Source Code Browser