1
/****************************************************************************
3
** Copyright (C) 2013-2014 Jolla Ltd.
4
** Contact: lorn.potter@jollamobile.com
6
** GNU Lesser General Public License Usage
7
** Alternatively, this file may be used under the terms of the GNU Lesser
8
** General Public License version 2.1 as published by the Free Software
9
** Foundation and appearing in the file LICENSE.LGPL included in the
10
** packaging of this file. Please review the following information to
11
** ensure the GNU Lesser General Public License version 2.1 requirements
12
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
14
****************************************************************************/
16
#ifndef QOFONOCONNECTIONCONTEXT_H
17
#define QOFONOCONNECTIONCONTEXT_H
19
#include "qofonoobject.h"
20
#include "qofono_global.h"
22
//! This class is used to access ofono connman context API
24
* The API is documented in
25
* http://git.kernel.org/?p=network/ofono/ofono.git;a=blob;f=doc/connman-api.txt
27
class QOFONOSHARED_EXPORT QOfonoConnectionContext : public QOfonoObject
30
Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
31
Q_PROPERTY(QString accessPointName READ accessPointName WRITE setAccessPointName NOTIFY accessPointNameChanged)
32
Q_PROPERTY(QString type READ type WRITE setType NOTIFY typeChanged)
33
Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)
34
Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
35
Q_PROPERTY(QString protocol READ protocol WRITE setProtocol NOTIFY protocolChanged)
36
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
37
Q_PROPERTY(QString messageProxy READ messageProxy WRITE setMessageProxy NOTIFY messageProxyChanged)
38
Q_PROPERTY(QString messageCenter READ messageCenter WRITE setMessageCenter NOTIFY messageCenterChanged)
39
Q_PROPERTY(QVariantMap settings READ settings NOTIFY settingsChanged)
40
Q_PROPERTY(QVariantMap IPv6Settings READ IPv6Settings NOTIFY IPv6SettingsChanged)
42
Q_PROPERTY(QString contextPath READ contextPath WRITE setContextPath NOTIFY contextPathChanged)
43
Q_PROPERTY(QString modemPath READ modemPath NOTIFY modemPathChanged)
46
explicit QOfonoConnectionContext(QObject *parent = 0);
47
~QOfonoConnectionContext();
49
void setContextPath(const QString &idPath);
50
QString contextPath() const;
55
QString accessPointName() const;
56
void setAccessPointName(const QString &);
59
void setType(const QString &);
61
QString username() const;
62
void setUsername(const QString &);
64
QString password() const;
65
void setPassword(const QString &);
67
QString protocol() const;
68
void setProtocol(const QString &);
71
void setName(const QString &);
73
QString messageProxy() const;
74
void setMessageProxy(const QString &);
76
QString messageCenter() const;
77
void setMessageCenter(const QString &);
79
QVariantMap settings() const;
80
QVariantMap IPv6Settings() const;
83
QString modemPath() const;
85
Q_INVOKABLE bool validateProvisioning(); //check provision against mbpi
86
Q_INVOKABLE bool validateProvisioning(const QString &provider, const QString &mcc, const QString &mnc); //check provision against mbpi
87
#if QT_VERSION < 0x050000
88
Q_INVOKABLE void provision(const QString &provider, const QString &mcc, const QString &mnc, const QString &type="internet");
90
Q_INVOKABLE void provision(const QString &provider, const QString &mcc, const QString &mnc, const QString &type=QStringLiteral("internet")); // provision context against mbpi
92
Q_INVOKABLE void provisionForCurrentNetwork(const QString &type);
93
Q_INVOKABLE void disconnect();
96
void disconnectRequested();
97
void activeChanged(bool active);
98
void accessPointNameChanged(const QString &apn);
99
void nameChanged(const QString &name);
100
void typeChanged(const QString &type);
101
void usernameChanged(const QString &uname);
102
void passwordChanged(const QString &pw);
103
void protocolChanged(const QString &proto);
104
void messageProxyChanged(const QString &proxy);
105
void messageCenterChanged(const QString &msc);
106
void settingsChanged(const QVariantMap &settingsMap);
107
void IPv6SettingsChanged(const QVariantMap &ipv6SettingsMap);
108
void contextPathChanged(const QString &contextPath);
109
void provisioningFinished();
110
void modemPathChanged(const QString &path);
113
QDBusAbstractInterface *createDbusInterface(const QString &path);
114
QVariant convertProperty(const QString &key, const QVariant &value);
115
void propertyChanged(const QString &key, const QVariant &value);
116
void objectPathChanged(const QString &path, const QVariantMap *properties);
119
#endif // QOFONOCONNECTIONCONTEXT_H