rendered paste bodydiff --git a/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.cpp b/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.cppindex 31ed48d..0375413 100644--- a/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.cpp+++ b/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.cpp@@ -112,3 +112,7 @@ Solid::Control::IPv4Config FakeNetworkInterface::ipV4Config() const return Solid::Control::IPv4Config(); } +void FakeNetworkInterface::disconnectInterface()+{+ mActiveConnection = "";+}diff --git a/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.h b/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.hindex c4104ac..ad4630f 100644--- a/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.h+++ b/workspace/libs/solid/control/backends/fakenet/fakenetworkinterface.h@@ -49,6 +49,7 @@ public: Solid::Control::NetworkInterface::Capabilities capabilities() const; void activate(const QString & connectionUni, const QString & extra_connection_parameter = QString() ); void deactivate();+ void disconnectInterface(); Q_SIGNALS: void ipDetailsChanged(); void activeChanged(bool);diff --git a/workspace/libs/solid/control/ifaces/networkinterface.h b/workspace/libs/solid/control/ifaces/networkinterface.hindex bc6c4fc..734628a 100644--- a/workspace/libs/solid/control/ifaces/networkinterface.h+++ b/workspace/libs/solid/control/ifaces/networkinterface.h@@ -98,6 +98,8 @@ namespace Ifaces */ virtual Solid::Control::NetworkInterface::Capabilities capabilities() const = 0; + virtual void disconnectInterface() = 0;+ protected: //Q_SIGNALS: /**diff --git a/workspace/libs/solid/control/networkinterface.cpp b/workspace/libs/solid/control/networkinterface.cppindex 56a3b4b..f20e7bb 100644--- a/workspace/libs/solid/control/networkinterface.cpp+++ b/workspace/libs/solid/control/networkinterface.cpp@@ -117,5 +117,11 @@ void Solid::Control::NetworkInterfacePrivate::setBackendObject(QObject *object) } } +void Solid::Control::NetworkInterface::disconnectInterface()+{+ Q_D(const NetworkInterface);+ SOLID_CALL(Ifaces::NetworkInterface *, d->backendObject(), disconnectInterface());+}+ #include "networkinterface.moc"diff --git a/workspace/libs/solid/control/networkinterface.h b/workspace/libs/solid/control/networkinterface.hindex f51bf85..c8f2b22 100644--- a/workspace/libs/solid/control/networkinterface.h+++ b/workspace/libs/solid/control/networkinterface.h@@ -173,6 +173,8 @@ namespace Control */ Capabilities capabilities() const; + void disconnectInterface();+ Q_SIGNALS: /** * This signal is emitted when the settings of this network have changed.diff --git a/workspace/solid/networkmanager-0.7/networkinterface.cpp b/workspace/solid/networkmanager-0.7/networkinterface.cppindex d855336..b3d49c5 100644--- a/workspace/solid/networkmanager-0.7/networkinterface.cpp+++ b/workspace/solid/networkmanager-0.7/networkinterface.cpp@@ -247,5 +247,11 @@ void NMNetworkInterface::stateChanged(uint new_state, uint old_state, uint reaso emit connectionStateChanged(d->connectionState, convertState(old_state), reason); } +void NMNetworkInterface::disconnectInterface()+{+ Q_D(NMNetworkInterface);+ d->deviceIface.asyncCall("Disconnect");+}+ #include "networkinterface.moc" diff --git a/workspace/solid/networkmanager-0.7/networkinterface.h b/workspace/solid/networkmanager-0.7/networkinterface.hindex 063cd86..5dec0a8 100644--- a/workspace/solid/networkmanager-0.7/networkinterface.h+++ b/workspace/solid/networkmanager-0.7/networkinterface.h@@ -68,6 +68,7 @@ public: void setCapabilitiesV(const QVariant&); bool managed() const; void setManaged(const QVariant&);+ void disconnectInterface(); Q_SIGNALS: void ipDetailsChanged();