diff options
author | Raquel Medina <raquel.medina@konsulko.com> | 2019-06-05 12:37:33 +0200 |
---|---|---|
committer | raquel medina <raquel.medina@konsulko.com> | 2019-06-10 10:55:23 +0000 |
commit | d3632244d611435f48f5aeb653f9031ace9a3b20 (patch) | |
tree | dff535ea26de1483df29d5e52f91799645562d63 /network/abstractnetworkmodel.h | |
parent | 0b4be8897b1d041db9931f4726d0dbd9d03a0c58 (diff) |
network: add network model abstraction
- AbstractNetworkModel : abstract class which
provides common functionality and data to all
network models.
-ConnectionProfile : super class which aglomerates
connection property information, independently of
the technology type (e.g. wired or wifi).
A network model contains a list of available
connection profiles pertinent to the model.
Bug-AGL: SPEC-2293
Signed-off-by: Raquel Medina <raquel.medina@konsulko.com>
Change-Id: Ic7b9d59802d13067e057948d1fb109852f35c2fd
Diffstat (limited to 'network/abstractnetworkmodel.h')
-rw-r--r-- | network/abstractnetworkmodel.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/network/abstractnetworkmodel.h b/network/abstractnetworkmodel.h new file mode 100644 index 0000000..1b0db43 --- /dev/null +++ b/network/abstractnetworkmodel.h @@ -0,0 +1,32 @@ +#ifndef ABSTRACT_NETWORK_MODEL_H +#define ABSTRACT_NETWORK_MODEL_H + +#include <QAbstractListModel> +#include <QStringList> +#include <QtQml/QQmlContext> +#include <QJsonObject> + +#include "connectionprofile.h" + +class AbstractNetworkModel : public QAbstractListModel +{ + Q_OBJECT + + public: + AbstractNetworkModel(QObject *parent = Q_NULLPTR); + virtual QString getType() const = 0; + + void addNetwork(ConnectionProfile *network); + void removeNetwork(ConnectionProfile *network); + void removeAllNetworks(); + ConnectionProfile *getNetwork(QString service); + int rowCount(const QModelIndex &parent = QModelIndex()) const; + + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const = 0; + virtual void updateProperties(QString service, QJsonObject properties) =0; + + protected: + QList<ConnectionProfile *> m_networks; + QModelIndex indexOf(ConnectionProfile *network); +}; +#endif // ABSTRACT_NETWORK_MODEL_H |