added another ctor to WebSocket

This commit is contained in:
Guenter Obiltschnig
2013-06-16 09:23:57 +02:00
parent 923eb91bb8
commit fc08238666
2 changed files with 17 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
//
// WebSocket.h
//
// $Id: //poco/1.4/Net/include/Poco/Net/WebSocket.h#1 $
// $Id: //poco/1.4/Net/include/Poco/Net/WebSocket.h#2 $
//
// Library: Net
// Package: WebSocket
@@ -186,15 +186,18 @@ public:
/// The result of the handshake can be obtained from the response
/// object.
WebSocket(const Socket& socket);
/// Creates a WebSocket from another Socket, which must be a WebSocket,
/// otherwise a Poco::InvalidArgumentException will be thrown.
virtual ~WebSocket();
/// Destroys the StreamSocket.
WebSocket& operator = (const Socket& socket);
/// Assignment operator.
///
/// Releases the socket's SocketImpl and
/// attaches the SocketImpl from the other socket and
/// increments the reference count of the SocketImpl.
/// The other socket must be a WebSocket, otherwise a Poco::InvalidArgumentException
/// will be thrown.
void shutdown();
/// Sends a Close control frame to the server end of

View File

@@ -1,7 +1,7 @@
//
// WebSocket.cpp
//
// $Id: //poco/1.4/Net/src/WebSocket.cpp#4 $
// $Id: //poco/1.4/Net/src/WebSocket.cpp#6 $
//
// Library: Net
// Package: WebSocket
@@ -79,6 +79,14 @@ WebSocket::WebSocket(HTTPClientSession& cs, HTTPRequest& request, HTTPResponse&
}
WebSocket::WebSocket(const Socket& socket):
StreamSocket(socket)
{
if (!dynamic_cast<WebSocketImpl*>(impl()))
throw InvalidArgumentException("Cannot assign incompatible socket");
}
WebSocket::~WebSocket()
{
}