aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/upnp/manager.cpp
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
committerGravatar Szymon Tomasz Stefanek2011-01-01 20:19:56 +0000
commitc601b5a27f74b16158adafe429faefbe573e64a2 (patch)
treea3cde3206a45628f8ac86e8dfbdab70b20c3a831 /src/modules/upnp/manager.cpp
parentprobable compilation fix for rijndaled/crypto++ (diff)
downloadKVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.gz
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.tar.bz2
KVIrc-c601b5a27f74b16158adafe429faefbe573e64a2.zip
The big rename for modules. Still some details remaining.
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5284 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/upnp/manager.cpp')
-rw-r--r--src/modules/upnp/manager.cpp175
1 files changed, 0 insertions, 175 deletions
diff --git a/src/modules/upnp/manager.cpp b/src/modules/upnp/manager.cpp
deleted file mode 100644
index 842ed5686..000000000
--- a/src/modules/upnp/manager.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-//=============================================================================
-//
-// File : manager.cpp
-// 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 Fabio Bas (ctrlaltca at gmail dot com)
-//
-// 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-//
-// Original Copyright follows:
-//=============================================================================
-
-/***************************************************************************
- manager.cpp - description
- -------------------
- begin : Fri Aug 05 2005
- copyright : (C) 2005 by Diederik van der Boor
- email : vdboor --at-- codingdomain.com
- ***************************************************************************/
-
-#include "manager.h"
-
-#include "igdcontrolpoint.h"
-#include "ssdpconnection.h"
-
-#include <QDebug>
-#include <QTimer>
-
-
-namespace UPnP
-{
-
-// Set the static variable
-Manager* Manager::m_pInstance(0);
-
-
-// The constructor
-Manager::Manager()
-: m_pActiveIgdControlPoint(0)
-, m_bBroadcastFailed(false)
-, m_bBroadcastFoundIt(false)
-, m_pSsdpConnection(0)
-, m_pSsdpTimer(0)
-{
-
-}
-
-
-
-// The destructor
-Manager::~Manager()
-{
- delete m_pSsdpTimer;
- delete m_pSsdpConnection;
- m_pInstance = 0; // Unregister the instance
-}
-
-
-
-// Initialize the manager, detect all devices
-void Manager::initialize()
-{
- qDebug() << "UPnP::Manager: Initiating a broadcast to detect UPnP devices..." << endl;
-
-
- // Create the SSDP object to detect devices
- m_pSsdpConnection = new SsdpConnection();
- connect(m_pSsdpConnection, SIGNAL( deviceFound(const QString&,int,const QString&) ),
- this, SLOT( slotDeviceFound(const QString&,int,const QString&) ) );
-
- // Create a timer
- m_pSsdpTimer = new QTimer(this);
- connect(m_pSsdpTimer, SIGNAL(timeout()), this, SLOT(slotBroadcastTimeout()));
-
- // Start a UPnP broadcast
- m_bBroadcastFailed = false;
- m_bBroadcastFoundIt = false;
- m_pSsdpConnection->queryDevices();
- m_pSsdpTimer->setSingleShot(true);
- m_pSsdpTimer->start(2000);
-}
-
-
-
-// Return the instance of the manager class
-Manager * Manager::instance()
-{
- // Create when it's required
- if(m_pInstance == 0)
- {
- m_pInstance = new Manager();
- m_pInstance->initialize();
- }
-
- return m_pInstance;
-}
-
-
-
-// Return the external IP address
-QString Manager::getExternalIpAddress() const
-{
- // Do not expose activeIgd_;
- return (m_pActiveIgdControlPoint != 0 ? m_pActiveIgdControlPoint->getExternalIpAddress() : QString());
-}
-
-
-
-// Return true if a controlable gateway is available
-bool Manager::isGatewayAvailable()
-{
- return (m_pActiveIgdControlPoint != 0 && m_pActiveIgdControlPoint->isGatewayAvailable());
-}
-
- // Add a port mapping
-void Manager::addPortMapping(const QString &protocol, const QString &remoteHost, int externalPort, const QString &internalClient, int internalPort, const QString &description, bool enabled, int leaseDuration)
-{
- if(m_pActiveIgdControlPoint != 0)
- m_pActiveIgdControlPoint->addPortMapping(protocol, remoteHost, externalPort, internalClient, internalPort, description, enabled, leaseDuration);
-}
-
-// Delete a port mapping
-void Manager::deletePortMapping(const QString &protocol, const QString &remoteHost, int externalPort)
-{
- if(m_pActiveIgdControlPoint != 0)
- m_pActiveIgdControlPoint->deletePortMapping(protocol, remoteHost, externalPort);
-}
-
-// The broadcast failed
-void Manager::slotBroadcastTimeout()
-{
- if(!m_bBroadcastFoundIt)
- {
- qDebug() << "UPnP::Manager: Timeout, no broadcast response received!" << endl;
-
- m_bBroadcastFailed = true;
- }
-}
-
-
-
-// A device was discovered by the SSDP broadcast
-void Manager::slotDeviceFound(const QString &hostname, int port, const QString &rootUrl)
-{
- qDebug() << "UPnP::Manager: Device found, initializing IgdControlPoint to query it." << endl;
-
- // this blocks the action of our timeout timer
- m_bBroadcastFoundIt = true;
-
- IgdControlPoint *controlPoint = new IgdControlPoint(hostname, port, rootUrl);
- m_lIgdControlPoints.append(controlPoint);
-
- if(m_pActiveIgdControlPoint == 0)
- {
- m_pActiveIgdControlPoint = controlPoint;
- m_pActiveIgdControlPoint->initialize();
- }
-}
-
-
-
-} // end of namespace