diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-01-28 16:54:55 -0500 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2022-01-28 17:00:09 -0500 |
commit | 5ef90db242ad29c9772f2237b477c58ef65545c7 (patch) | |
tree | f9b7b2e56a0aaec37bb9ef99faa316465613b941 /network/network.h | |
parent | 0fee9bfb0f656b78f34c44542329760be2980892 (diff) |
Re-enable network supportmarlin_12.92.0marlin/12.92.012.92.0
Rework network support code to use new connman-glib library instead
of the previously disabled agl-service-network API. The only user
visible change is that a few extra previously exported header files
have been pruned from installation to avoid exposing GLib usage
and potentially requiring users needing to build against it.
Bug-AGL: SPEC-4182
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Iab8f3c9d04ee603e06b80dfd92ac03d9d52af477
Diffstat (limited to 'network/network.h')
-rw-r--r-- | network/network.h | 82 |
1 files changed, 36 insertions, 46 deletions
diff --git a/network/network.h b/network/network.h index 3321a81..06d1e6f 100644 --- a/network/network.h +++ b/network/network.h @@ -19,66 +19,56 @@ #include <memory> #include <QObject> -#include <QJsonArray> -#include <QJsonObject> #include <QtQml/QQmlContext> #include <QtQml/QQmlListProperty> -#include "wifiadapter.h" -#include "wiredadapter.h" +class NetworkEventHandler; +class AdapterIf; class Network : public QObject { - Q_OBJECT + Q_OBJECT - public: - explicit Network(bool register_agent, QQmlContext *context, QObject * parent = Q_NULLPTR); - virtual ~Network(); +public: + explicit Network(bool register_agent, QQmlContext *context, QObject * parent = Q_NULLPTR); + virtual ~Network(); - Q_INVOKABLE void connect(QString service); - Q_INVOKABLE void disconnect(QString service); - Q_INVOKABLE void remove(QString service); - Q_INVOKABLE void power(bool on, QString type = "wifi"); - Q_INVOKABLE void input(int id, QString passphrase); - Q_INVOKABLE void configureAddress(QString service, QVariantList paramlist); - Q_INVOKABLE void configureNameServer(QString service, QVariantList paramlist); + Q_INVOKABLE void connect(QString service); + Q_INVOKABLE void disconnect(QString service); + Q_INVOKABLE void remove(QString service); + Q_INVOKABLE void power(bool on, QString type = "wifi"); + Q_INVOKABLE void input(int id, QString passphrase); + Q_INVOKABLE void configureAddress(QString service, QVariantList paramlist); + Q_INVOKABLE void configureNameServer(QString service, QVariantList paramlist); - void getServices(); - AdapterIf* findAdapter(QString type); + AdapterIf* findAdapter(const QString &technology); + void getServices(); - signals: - void inputRequest(int id); - void invalidPassphrase(QString service); - void searchResults(QString name); +signals: + void inputRequest(int id); + void invalidPassphrase(const QString &service); + void searchResults(const QString &name); - private: - QQmlContext *m_context; - QList<AdapterIf*> m_adapters; +private: + NetworkEventHandler *m_event_handler; + bool m_agent; + QList<AdapterIf*> m_adapters; - void updateServiceProperties(QJsonObject data); - bool addService(QJsonObject service); - void removeService(QJsonObject remove); + void scanServices(const QString &technology); + void disableTechnology(const QString &technology); + void enableTechnology(const QString &technology); + void getTechnologies(); - void addServices(QJsonArray services); + friend class NetworkEventHandler; - void scanServices(QString type); - void disableTechnology(QString type); - void enableTechnology(QString type); - void parseTechnologies(QJsonArray technologies); - void getTechnologies(); - - // slots - void onConnected(); - void onDisconnected(); - - const QStringList events { - "agent", - "global_state", - "services", - "service_properties", - "technologies", - "technology_properties", - }; +private slots: + // Invoked by NetworkEventHandler signals to drive model updates on UI thread + void updateAdapterStatus(const QString &technology, const QVariantMap &properties); + void updateServiceProperties(const QString &service, const QVariantMap &properties); + void addService(const QString &service, const QVariantMap &properties); + void removeService(const QString &service); + void requestInput(int id, const QVariantMap &properties); + void handleConnectResponse(const QString &service, bool status, const QString &error); }; #endif // NETWORK_H |