1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-11 16:44:05 +02:00

Update QxtWeb

This commit is contained in:
Dominik Schmidt
2013-01-05 19:59:24 +01:00
parent 7969f4ab51
commit d7645a33be
46 changed files with 4141 additions and 1208 deletions

View File

@@ -1,27 +1,33 @@
/****************************************************************************
**
** Copyright (C) Qxt Foundation. Some rights reserved.
**
** This file is part of the QxtWeb module of the Qxt library.
**
** This library is free software; you can redistribute it and/or modify it
** under the terms of the Common Public License, version 1.0, as published
** by IBM, and/or under the terms of the GNU Lesser General Public License,
** version 2.1, as published by the Free Software Foundation.
**
** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY
** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR
** FITNESS FOR A PARTICULAR PURPOSE.
**
** You should have received a copy of the CPL and the LGPL along with this
** file. See the LICENSE file and the cpl1.0.txt/lgpl-2.1.txt files
** included with the source distribution for more information.
** If you did not receive a copy of the licenses, contact the Qxt Foundation.
**
** <http://libqxt.org> <foundation@libqxt.org>
**
****************************************************************************/
** Copyright (c) 2006 - 2011, the LibQxt project.
** See the Qxt AUTHORS file for a list of authors and copyright holders.
** All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions are met:
** * Redistributions of source code must retain the above copyright
** notice, this list of conditions and the following disclaimer.
** * Redistributions in binary form must reproduce the above copyright
** notice, this list of conditions and the following disclaimer in the
** documentation and/or other materials provided with the distribution.
** * Neither the name of the LibQxt project nor the
** names of its contributors may be used to endorse or promote products
** derived from this software without specific prior written permission.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
** DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
**
** <http://libqxt.org> <foundation@libqxt.org>
*****************************************************************************/
/*!
\class QxtAbstractWebSessionManager
@@ -77,6 +83,7 @@ void QxtAbstractWebSessionManagerPrivate::sessionDestroyed(int sessionID)
{
freeList.enqueue(sessionID);
sessions.remove(sessionID);
qxt_p().sessionDestroyed(sessionID);
}
}
@@ -121,7 +128,7 @@ void QxtAbstractWebSessionManager::setServiceFactory(ServiceFactory* factory)
/*!
* Returns the service factory in use by the session manager.
*
* \sa setServiceFactory(ServiceFactory*)
* \sa setServiceFactory()
*/
QxtAbstractWebSessionManager::ServiceFactory* QxtAbstractWebSessionManager::serviceFactory() const
{
@@ -156,6 +163,19 @@ int QxtAbstractWebSessionManager::createService()
return sessionID; // you can always get the service with this
}
/*!
* Notification that a service has been destroyed. The \a sessionID contains
* the session ID# which has already been deallocated.
*
* Derived classes should reimplement this method to perform any housekeeping
* chores needed when a service is removed (such as expiring session cookies).
*
* This default implementation does nothing at all.
*/
void QxtAbstractWebSessionManager::sessionDestroyed(int)
{
}
/*!
* \fn virtual bool QxtAbstractWebSessionManager::start()
* Starts the session manager.
@@ -163,11 +183,27 @@ int QxtAbstractWebSessionManager::createService()
* Session managers should not create sessions before start() is invoked.
* Subclasses are encouraged to refrain from accepting connections until the
* session manager is started.
*
* Returns true if the session was successfully started and false otherwise.
*/
/*!
* \fn virtual bool QxtAbstractWebSessionManager::shutdown()
* Stops the session manager.
*
* This method stops listening for new connections. Any active connections
* remain viable. It is permissible to start() the session again after a
* successful shutdown (to change ports for example).
*
* Returns true if the session was active (successfully shut down) and false
* otherwise. This may be connected to an application's aboutToQuit() signal
* but doing so is not likely to allow any currently processing requests to
* complete.
*/
/*!
* \fn virtual void QxtAbstractWebSessionManager::postEvent(QxtWebEvent* event)
* Adds the event to the event queue for its associated session.
* Adds the \a event to the event queue for its associated session.
*
* Since different protocols may require different event processing behavior,
* there is no default implementation in QxtAbstractWebSessionManager. Subclasses