diff options
| author | 2008-08-13 08:09:06 +0000 | |
|---|---|---|
| committer | 2008-08-13 08:09:06 +0000 | |
| commit | f6d479e00778ee70a84e46e01d40b7366bf224a2 (patch) | |
| tree | 17e6237f6779d3bb30da1ed841d9ce80450f7290 | |
| parent | more work on upnp; should be able to get external ip address now (please test) (diff) | |
| download | KVIrc-f6d479e00778ee70a84e46e01d40b7366bf224a2.tar.gz KVIrc-f6d479e00778ee70a84e46e01d40b7366bf224a2.tar.bz2 KVIrc-f6d479e00778ee70a84e46e01d40b7366bf224a2.zip | |
wiped out layer3forwardingservice check from upnp module (incompatible between multiple vendors implementation)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2235 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/modules/upnp/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/modules/upnp/igdcontrolpoint.cpp | 34 | ||||
| -rw-r--r-- | src/modules/upnp/igdcontrolpoint.h | 7 | ||||
| -rw-r--r-- | src/modules/upnp/layer3forwardingservice.cpp | 131 | ||||
| -rw-r--r-- | src/modules/upnp/layer3forwardingservice.h | 84 |
5 files changed, 1 insertions, 256 deletions
diff --git a/src/modules/upnp/CMakeLists.txt b/src/modules/upnp/CMakeLists.txt index bb3841455..94274cf22 100644 --- a/src/modules/upnp/CMakeLists.txt +++ b/src/modules/upnp/CMakeLists.txt @@ -2,7 +2,6 @@ SET(kviupnp_SRCS igdcontrolpoint.cpp - layer3forwardingservice.cpp libkviupnp.cpp manager.cpp rootservice.cpp diff --git a/src/modules/upnp/igdcontrolpoint.cpp b/src/modules/upnp/igdcontrolpoint.cpp index c4d808a10..3ae288f22 100644 --- a/src/modules/upnp/igdcontrolpoint.cpp +++ b/src/modules/upnp/igdcontrolpoint.cpp @@ -35,14 +35,12 @@ #include "igdcontrolpoint.h" #include "rootservice.h" -#include "layer3forwardingservice.h" #include "wanconnectionservice.h" namespace UPnP { #define InternetGatewayDeviceType "urn:schemas-upnp-org:device:InternetGatewayDevice:1" -//#define Layer3ForwardingType "urn:schemas-upnp-org:service:Layer3Forwarding:1" #define WanIpConnectionType "urn:schemas-upnp-org:service:WANIPConnection:1" #define WanPPPConnectionType "urn:schemas-upnp-org:service:WANPPPConnection:1" @@ -50,7 +48,6 @@ namespace UPnP // The constructor IgdControlPoint::IgdControlPoint(const QString &hostname, int port, const QString &rootUrl) : QObject() -, m_pForwardingService(0) , m_bGatewayAvailable(false) , m_iIgdPort(0) , m_pRootService(0) @@ -76,7 +73,6 @@ IgdControlPoint::IgdControlPoint(const QString &hostname, int port, const QStrin IgdControlPoint::~IgdControlPoint() { delete m_pRootService; - delete m_pForwardingService; delete m_pWanConnectionService; qDebug() << "DESTROYED UPnP::IgdControlPoint [host=" << m_szIgdHostname << ", port=" << m_iIgdPort << "]" << endl; @@ -139,36 +135,6 @@ void IgdControlPoint::slotDeviceQueried(bool error) } -/* -// A WAN connection service was found -void IgdControlPoint::slotWanConnectionFound(bool error) -{ - if(! error) - { - // Get the retreived service description - QString deviceUrn = m_pForwardingService->getConnectionDeviceUdn(); - QString serviceId = m_pForwardingService->getConnectionServiceId(); - ServiceParameters params = m_pRootService->getServiceById(serviceId, deviceUrn); - - if(! params.controlUrl.isNull()) - { - qDebug() << "UPnP::IgdControlPoint: wan/ipconnection service found, " - << "querying service '" << params.serviceId << "' for external ip address..." << endl; - - // Call the service - m_pWanConnectionService = new WanConnectionService(params); - connect(m_pWanConnectionService, SIGNAL(queryFinished(bool)), this, SLOT(slotWanQueryFinished(bool))); - m_pWanConnectionService->queryExternalIpAddress(); - } - } - - // No longer need the forwarding service - m_pForwardingService->deleteLater(); - m_pForwardingService = 0; -} -*/ - - // A WAN connection query was finished void IgdControlPoint::slotWanQueryFinished(bool error) { diff --git a/src/modules/upnp/igdcontrolpoint.h b/src/modules/upnp/igdcontrolpoint.h index 5b28f3634..63932c45d 100644 --- a/src/modules/upnp/igdcontrolpoint.h +++ b/src/modules/upnp/igdcontrolpoint.h @@ -33,14 +33,13 @@ #ifndef UPNP_IGDCONTROLPOINT_H #define UPNP_IGDCONTROLPOINT_H -#include <qobject.h> +#include <QObject> namespace UPnP { class SsdpConnection; class RootService; -class Layer3ForwardingService; class WanConnectionService; /** @@ -74,14 +73,10 @@ public: // public methods private slots: // The IGD was queried for it's services void slotDeviceQueried(bool error); - // A WAN connection service was found - //void slotWanConnectionFound(bool error); // A WAN connection query was finished void slotWanQueryFinished(bool error); private: // private attibutes - // The forwarding service - Layer3ForwardingService *m_pForwardingService; // Is a gateway available? bool m_bGatewayAvailable; // The host of the gateway diff --git a/src/modules/upnp/layer3forwardingservice.cpp b/src/modules/upnp/layer3forwardingservice.cpp deleted file mode 100644 index 8c18cc45a..000000000 --- a/src/modules/upnp/layer3forwardingservice.cpp +++ /dev/null @@ -1,131 +0,0 @@ -//============================================================================= -// -// Creation date : Fri Aug 08 18:00:00 2008 GMT by Fabio Bas -// -// This file is part of the KVirc irc client distribution -// Copyright (C) 2008 Szymon Stefanek (pragma at kvirc dot net) -// -// This program is FREE software. You can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your opinion) any later version. -// -// This program is distributed in the HOPE that it will be USEFUL, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, write to the Free Software Foundation, -// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -// Original Copyright follows: -//============================================================================= - -/*************************************************************************** - layer3forwardingservice.cpp - description - ------------------- - begin : Mon Jul 25 2005 - copyright : (C) 2005 by Diederik van der Boor - email : vdboor --at-- codingdomain.com - ***************************************************************************/ - -#include <QDebug> -#include <QStringList> - -#include "layer3forwardingservice.h" - -namespace UPnP -{ - -// The constructor -Layer3ForwardingService::Layer3ForwardingService(const ServiceParameters ¶ms) - : Service(params) -{ - -} - - -// The destructor -Layer3ForwardingService::~Layer3ForwardingService() -{ - -} - - - -// Get the device UDN of the default connection service -QString Layer3ForwardingService::getConnectionDeviceUdn() const -{ - return m_szConnectionDeviceUdn; -} - - - -// Get the service ID of the default connection service -QString Layer3ForwardingService::getConnectionServiceId() const -{ - return m_szConnectionServiceId; -} - - - -// The control point received a response to callAction() -void Layer3ForwardingService::gotActionResponse(const QString &responseType, const QMap<QString,QString> &resultValues) -{ - qDebug() << "UPnP::Layer3ForwardingService: Got action response" - << " type='" << responseType << "'." << endl; - - // Example: - // - // <m:GetDefaultConnectionServiceResponse xmlns:m="urn:schemas-upnp-org:service:Layer3Forwarding:1" > - // <NewDefaultConnectionService> - // (there is no white space between these parts!) - // uuid:UPnP-SpeedTouch510-1_00-90-D0-8E-A1-6F_WCDpppoa:WANConnectionDevice:1, - // urn:upnp-org:serviceId:wanpppc:pppoa - // </NewDefaultConnectionService> - // </m:GetDefaultConnectionServiceResponse> - - - if(responseType == "GetDefaultConnectionServiceResponse" ) - { - QString newService = resultValues["NewDefaultConnectionService"]; - QStringList serviceItems = QStringList::split(',', newService); - QString uuid; - QString urn; - - // Extract the uuid and urn from the NewDefaultConnectionService value - for(uint i = 0; i < serviceItems.count(); i++) - { - QString type = serviceItems[i].section(':', 0, 0); - if(type == "uuid") - { - // format: uuid:<id>:<class>:<ver> - m_szConnectionDeviceUdn = serviceItems[i].section(':', 0, 1); - } else if(type == "urn") { - m_szConnectionServiceId = serviceItems[i]; - } else { - qDebug() << "UPnP::Layer3ForwardingService - Unexpected section" - << " '" << type << "' encountered in NewDefaultConnectionService value." << endl; - } - } - - qDebug() << "UPnP::Layer3ForwardingService:" - << " udn='" << m_szConnectionDeviceUdn << "'" - << " serviceid='" << m_szConnectionServiceId << "'." << endl; - } else { - qDebug() << "UPnP::Layer3ForwardingService - Unexpected response type" - << " '" << responseType << "' encountered." << endl; - } -} - - - -// Query the Layer3Forwarding service for the default connection service -void Layer3ForwardingService::queryDefaultConnectionService() -{ - callAction("GetDefaultConnectionService"); -} - - -} diff --git a/src/modules/upnp/layer3forwardingservice.h b/src/modules/upnp/layer3forwardingservice.h deleted file mode 100644 index 138b53da9..000000000 --- a/src/modules/upnp/layer3forwardingservice.h +++ /dev/null @@ -1,84 +0,0 @@ -//============================================================================= -// -// Creation date : Fri Aug 08 18:00:00 2008 GMT by Fabio Bas -// -// This file is part of the KVirc irc client distribution -// Copyright (C) 2008 Szymon Stefanek (pragma at kvirc dot net) -// -// This program is FREE software. You can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your opinion) any later version. -// -// This program is distributed in the HOPE that it will be USEFUL, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, write to the Free Software Foundation, -// Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -// Original Copyright follows: -//============================================================================= - -/*************************************************************************** - layer3forwardingservice.h - description - ------------------- - begin : Mon Jul 25 2005 - copyright : (C) 2005 by Diederik van der Boor - email : vdboor --at-- codingdomain.com - ***************************************************************************/ - -#ifndef UPNP_LAYER3FORWARDINGSERVICE_H -#define UPNP_LAYER3FORWARDINGSERVICE_H - -#include "service.h" - -namespace UPnP { - -/** - * The Layer3Forwarding service is used to query a Internet Gateway Device (router in UPnP terms) - * for it's WanConnection service. This can be an instance of the WanIPConnection or WanPPPConnection service, - * which is implemented by the WanConnectionService class. - * The WanIPConnection/WanPPPConnection service can be used to configure the external connection settings and port mappings of the router. - * The Layer3Forwarding service itself is resolved by the RootService class. - * - * @author Diederik van der Boor - * @ingroup NetworkUPnP - */ -class Layer3ForwardingService : public Service -{ -public: // public methods - - // The constructor - Layer3ForwardingService(const ServiceParameters ¶ms); - // The destructor - virtual ~Layer3ForwardingService(); - - // Get the device UDN of the default connection service - QString getConnectionDeviceUdn() const; - // Get the service ID of the default connection service - QString getConnectionServiceId() const; - - // Query the Layer3Forwarding service for the default connection service - void queryDefaultConnectionService(); - - -protected: // protected methods - - // The control point received a response to callAction() - virtual void gotActionResponse(const QString &responseType, const QMap<QString,QString> &resultValues); - - -private: // private attributes - - // The service ID of the default connection service - QString m_szConnectionServiceId; - // The device UDN of the default connection service - QString m_szConnectionDeviceUdn; -}; - -} - -#endif |
