on e84df84 help sign in
unity8/tests/mocks/Ubuntu/Connectivity/networking-status.cpp
64 lines 1.7 kB history raw
1/*
2 * Copyright © 2014 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authors:
17 * Antti Kaijanmäki <antti.kaijanmaki@canonical.com>
18 */
20#include "networking-status.h"
22NetworkingStatus::NetworkingStatus(QObject *parent)
23 : QObject(parent)
25 qRegisterMetaType<NetworkingStatus::Limitations>();
26 qRegisterMetaType<QVector<NetworkingStatus::Limitations>>();
27 qRegisterMetaType<NetworkingStatus::Status>();
30NetworkingStatus::~NetworkingStatus()
31{}
33QVector<NetworkingStatus::Limitations>
34NetworkingStatus::limitations() const
36 return m_limitations;
39NetworkingStatus::Status
40NetworkingStatus::status() const
42 return Status::Online;
45bool
46NetworkingStatus::online() const
48 return status() == Status::Online;
51bool
52NetworkingStatus::limitedBandwith() const
54 return limitations().contains(Limitations::Bandwith);
57void NetworkingStatus::setLimitedBandwidth(bool limited)
59 if (limited) {
60 m_limitations << Limitations::Bandwith;
61 } else if (limitedBandwith()) {
62 m_limitations.remove(m_limitations.indexOf(Limitations::Bandwith));
63 }