Replaced QTcpSocket * with a QIODevice * to make network independent unit tests possible.
[contrib/qtwebsockets.git] / src / qwebsocket.h
index d244783..e1791af 100644 (file)
@@ -40,14 +40,14 @@ class Q_WEBSOCKETS_EXPORT QWebSocket:public QObject
     Q_OBJECT
 
 public:
-    explicit QWebSocket(QString origin = QString(), QWebSocketProtocol::Version version = QWebSocketProtocol::V_LATEST, QObject *parent = 0);
+    explicit QWebSocket(const QString &origin = QString(), QWebSocketProtocol::Version version = QWebSocketProtocol::V_LATEST, QObject *parent = 0);
     virtual ~QWebSocket();
 
     void abort();
     QAbstractSocket::SocketError error() const;
     QString errorString() const;
     bool flush();
-    bool isValid();
+    bool isValid() const;
     QHostAddress localAddress() const;
     quint16 localPort() const;
     QAbstractSocket::PauseModes pauseMode() const;
@@ -71,12 +71,12 @@ public:
     bool waitForConnected(int msecs = 30000);
     bool waitForDisconnected(int msecs = 30000);
 
-    QWebSocketProtocol::Version version();
-    QString resourceName();
-    QUrl requestUrl();
-    QString origin();
-    QString protocol();
-    QString extension();
+    QWebSocketProtocol::Version version() const;
+    QString resourceName() const;
+    QUrl requestUrl() const;
+    QString origin() const;
+    QString protocol() const;
+    QString extension() const;
 
     qint64 write(const char *message);         //send data as text
     qint64 write(const char *message, qint64 maxSize);         //send data as text
@@ -84,8 +84,8 @@ public:
     qint64 write(const QByteArray &data);      //send data as binary
 
 public Q_SLOTS:
-    virtual void close(QWebSocketProtocol::CloseCode closeCode = QWebSocketProtocol::CC_NORMAL, QString reason = QString());
-    virtual void open(const QUrl &url, bool mask = true);
+    void close(QWebSocketProtocol::CloseCode closeCode = QWebSocketProtocol::CC_NORMAL, const QString &reason = QString());
+    void open(const QUrl &url, bool mask = true);
     void ping();
 
 Q_SIGNALS:
@@ -106,10 +106,9 @@ Q_SIGNALS:
 
 private:
     Q_DISABLE_COPY(QWebSocket)
+    Q_DECLARE_PRIVATE(QWebSocket)
     QWebSocket(QTcpSocket *pTcpSocket, QWebSocketProtocol::Version version, QObject *parent = 0);
     QWebSocketPrivate * const d_ptr;
-
-    friend class QWebSocketPrivate;
 };
 
 QT_END_NAMESPACE