Add extra documentation
[contrib/qtwebsockets.git] / src / websockets / qwebsocketcorsauthenticator.cpp
index 7d59a3c..af9f5a1 100644 (file)
@@ -1,21 +1,43 @@
-/*
-QWebSockets implements the WebSocket protocol as defined in RFC 6455.
-Copyright (C) 2013 Kurt Pattyn (pattyn.kurt@gmail.com)
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library 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
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtWebSockets module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.  For licensing terms and
+** conditions see http://qt.digia.com/licensing.  For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights.  These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
 
 /*!
     \class QWebSocketCorsAuthenticator
@@ -52,7 +74,7 @@ QWebSocketCorsAuthenticatorPrivate::QWebSocketCorsAuthenticatorPrivate(const QSt
 {}
 
 /*!
-  \internal
+  Destroys the object.
  */
 QWebSocketCorsAuthenticatorPrivate::~QWebSocketCorsAuthenticatorPrivate()
 {}
@@ -67,18 +89,14 @@ QWebSocketCorsAuthenticator::QWebSocketCorsAuthenticator(const QString &origin)
 }
 
 /*!
-  Destructs the object
+  Destroys the object
  */
 QWebSocketCorsAuthenticator::~QWebSocketCorsAuthenticator()
 {
-    if (d_ptr)
-    {
-        delete d_ptr;
-    }
 }
 
 /*!
-  Constructs a coy of \a other
+  Constructs a copy of \a other
  */
 QWebSocketCorsAuthenticator::QWebSocketCorsAuthenticator(const QWebSocketCorsAuthenticator &other) :
     d_ptr(new QWebSocketCorsAuthenticatorPrivate(other.d_ptr->m_origin, other.d_ptr->m_isAllowed))
@@ -99,6 +117,38 @@ QWebSocketCorsAuthenticator &QWebSocketCorsAuthenticator::operator =(const QWebS
     return *this;
 }
 
+#ifdef Q_COMPILER_RVALUE_REFS
+/*!
+  Move-constructs a QWebSocketCorsAuthenticator, making it point at the same
+  object \a other was pointing to.
+ */
+QWebSocketCorsAuthenticator::QWebSocketCorsAuthenticator(QWebSocketCorsAuthenticator &&other) :
+    d_ptr(other.d_ptr.take())
+{}
+
+/*!
+  Move-assigns \a other to this instance.
+ */
+QWebSocketCorsAuthenticator &QWebSocketCorsAuthenticator::operator =(QWebSocketCorsAuthenticator &&other)
+{
+    qSwap(d_ptr, other.d_ptr);
+    return *this;
+}
+
+#endif
+
+/*!
+  Swaps \a other with this authenticator.
+
+  This operation is very fast and never fails.
+ */
+void QWebSocketCorsAuthenticator::swap(QWebSocketCorsAuthenticator &other)
+{
+    if (&other != this) {
+        qSwap(d_ptr, other.d_ptr);
+    }
+}
+
 /*!
   Returns the origin this autenticator is handling about.
  */
@@ -130,3 +180,5 @@ bool QWebSocketCorsAuthenticator::allowed() const
     Q_D(const QWebSocketCorsAuthenticator);
     return d->m_isAllowed;
 }
+
+QT_END_NAMESPACE