lomiri-connectivity-api
modems-list-model.h
Go to the documentation of this file.
1/*
2 * Copyright © 2016 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 */
19
20#pragma once
21
22#include <QAbstractItemModel>
23#include <QDBusConnection>
24#include <QDBusObjectPath>
25
26#include "sims-list-model.h"
27
28#include <lomiri/util/DefinesPtrs.h>
29
30#include <memory>
31
32namespace connectivityqt
33{
34namespace internal
35{
36struct ModemsListModelParameters;
37}
38
39class Q_DECL_EXPORT ModemsListModel : public QAbstractListModel
40{
41 Q_OBJECT
42
43 Q_ENUMS(Roles)
44
45public:
47
48 enum Roles
49 {
50 RoleIndex = Qt::UserRole + 1,
53 RoleSim
54 };
55
56 ModemsListModel(const internal::ModemsListModelParameters& parameters);
57
59
60 int columnCount(const QModelIndex &parent) const override;
61
62 int rowCount(const QModelIndex &parent) const override;
63
64 QVariant data(const QModelIndex &index, int role) const override;
65
66 QHash<int, QByteArray> roleNames() const override
67 {
68 QHash<int, QByteArray> roles;
69 roles[RoleIndex] = "Index";
70 roles[RoleSerial] = "Serial";
71 roles[RoleModem] = "Modem";
72 roles[RoleSim] = "Sim";
73 return roles;
74 }
75
76public Q_SLOTS:
77
78Q_SIGNALS:
79
80protected:
81 class Priv;
82 std::shared_ptr<Priv> d;
83};
84
85}
Definition: modems-list-model.h:40
QHash< int, QByteArray > roleNames() const override
Definition: modems-list-model.h:66
Roles
Definition: modems-list-model.h:49
@ RoleModem
Definition: modems-list-model.h:52
@ RoleSerial
Definition: modems-list-model.h:51
std::shared_ptr< Priv > d
Definition: modems-list-model.h:82
LOMIRI_DEFINES_PTRS(ModemsListModel)
Definition: connectivity.cpp:37