summaryrefslogtreecommitdiffstats
path: root/src/networksettings/qnetworksettingsmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/networksettings/qnetworksettingsmanager.cpp')
-rw-r--r--src/networksettings/qnetworksettingsmanager.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/networksettings/qnetworksettingsmanager.cpp b/src/networksettings/qnetworksettingsmanager.cpp
index caf6057..eb687d1 100644
--- a/src/networksettings/qnetworksettingsmanager.cpp
+++ b/src/networksettings/qnetworksettingsmanager.cpp
@@ -29,6 +29,7 @@
#include "qnetworksettingsmanager.h"
#include "qnetworksettingsservice.h"
#include "qnetworksettingsservicemodel.h"
+#include "qnetworksettingsinterface.h"
#include "qnetworksettingsinterfacemodel.h"
#include "qnetworksettingsmanager_p.h"
#include <QStringListModel>
@@ -51,7 +52,7 @@ QNetworkSettingsInterfaceModel *QNetworkSettingsManager::interfaces()
return &d->m_interfaceModel;
}
-QNetworkSettingsService* QNetworkSettingsManager::service(const QString& name, const int type)
+QNetworkSettingsService* QNetworkSettingsManager::service(const QString& name, int type)
{
Q_D(QNetworkSettingsManager);
@@ -60,7 +61,23 @@ QNetworkSettingsService* QNetworkSettingsManager::service(const QString& name, c
return service;
}
}
- return NULL;
+ return nullptr;
+}
+
+QNetworkSettingsInterface* QNetworkSettingsManager::interface(int type, int instance)
+{
+ Q_D(QNetworkSettingsManager);
+ int matchingInstance = 0;
+
+ foreach (QNetworkSettingsInterface* interface, d->m_interfaceModel.getModel()) {
+ if (interface->type() == type) {
+ if (matchingInstance == instance) {
+ return interface;
+ }
+ matchingInstance++;
+ }
+ }
+ return nullptr;
}
void QNetworkSettingsManager::setUserAgent(QNetworkSettingsUserAgent *agent)