summaryrefslogtreecommitdiffstats
path: root/src/imports/wifi/qwifimanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/wifi/qwifimanager.h')
-rw-r--r--src/imports/wifi/qwifimanager.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/src/imports/wifi/qwifimanager.h b/src/imports/wifi/qwifimanager.h
index 162190e..3af123f 100644
--- a/src/imports/wifi/qwifimanager.h
+++ b/src/imports/wifi/qwifimanager.h
@@ -20,15 +20,32 @@
#define QWIFIMANAGER_H
#include <QtCore/QObject>
+#include <QtCore/QThread>
#include <QtCore/QByteArray>
-#include <QtNetwork/QLocalSocket>
+#ifdef Q_OS_ANDROID
+#include <QtNetwork/QLocalSocket>
#include <cutils/properties.h>
+#endif
#include "qwifinetworklistmodel.h"
class QWifiManagerEventThread;
+class ProcessRunner : public QThread
+{
+ Q_OBJECT
+public:
+ ProcessRunner(const QByteArray &ifc) : m_ifc(ifc) {}
+ void run();
+
+signals:
+ void processFinished();
+
+private:
+ QByteArray m_ifc;
+};
+
class QWifiManager : public QObject
{
Q_OBJECT
@@ -74,21 +91,26 @@ signals:
protected:
bool event(QEvent *);
- void sendDhcpRequest(const QByteArray &request);
void handleConnected();
void connectToBackend();
void disconnectFromBackend();
void exitEventThread();
+
QByteArray call(const char *command) const;
bool checkedCall(const char *command) const;
void updateNetworkState(NetworkState state);
protected slots:
+#if defined(FORCE_MOC)
+ void sendDhcpRequest(const QByteArray &request);
void connectedToDaemon();
void handleDhcpReply();
+#endif
+ void handleDhcpFinished();
private:
friend class QWifiManagerEventThread;
+ friend class ProcessRunner;
QString m_connectedSSID;
QWifiNetworkListModel m_networkListModel;
@@ -100,7 +122,11 @@ private:
QByteArray m_interface;
NetworkState m_state;
+#ifdef Q_OS_ANDROID
QLocalSocket *m_daemonClientSocket;
+#else
+ ProcessRunner *m_dhcpRunner;
+#endif
QByteArray m_request;
bool m_exitingEventThread;
bool m_startingUp;