summaryrefslogtreecommitdiffstats
path: root/src/wifi/qwifidevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wifi/qwifidevice.cpp')
-rw-r--r--src/wifi/qwifidevice.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/wifi/qwifidevice.cpp b/src/wifi/qwifidevice.cpp
index 0e421b7..0b52780 100644
--- a/src/wifi/qwifidevice.cpp
+++ b/src/wifi/qwifidevice.cpp
@@ -27,6 +27,39 @@
QT_BEGIN_NAMESPACE
+class QWifiDevicePrivate
+{
+ Q_DECLARE_PUBLIC(QWifiDevice)
+public:
+ QWifiDevicePrivate(QWifiDevice *device);
+
+ // methods
+ void createSupplicantConfig();
+ // member variables
+ QWifiDevice *const q_ptr;
+};
+
+QWifiDevicePrivate::QWifiDevicePrivate(QWifiDevice *device)
+ : q_ptr(device)
+{
+}
+
+void QWifiDevicePrivate::createSupplicantConfig()
+{
+ QFile supplicantConfig(QStringLiteral("/etc/wpa_supplicant.qtwifi.conf"));
+ if (supplicantConfig.exists())
+ return;
+
+ if (supplicantConfig.open(QIODevice::WriteOnly)) {
+ supplicantConfig.write("ctrl_interface=/var/run/wpa_supplicant\n"
+ "ctrl_interface_group=0\n"
+ "update_config=1\n");
+ } else {
+ qCWarning(B2QT_WIFI) << "failed to create supplicant configuration file.";
+ }
+}
+
+
/*!
\class QWifiDevice
\inmodule B2Qt.Wifi.Cpp
@@ -49,7 +82,9 @@ QT_BEGIN_NAMESPACE
*/
QWifiDevice::QWifiDevice()
+ : d_ptr(new QWifiDevicePrivate(this))
{
+ d_ptr->createSupplicantConfig();
}
QWifiDevice::~QWifiDevice()