Added 'WebSocket'.
This is just an abstract class which is inherited by fr::HttpSocket<T>, to allow different web socket types to be stored in a generic container.
This commit is contained in:
parent
eb136c71f9
commit
71874837a0
@ -29,7 +29,7 @@ endif()
|
||||
set( INCLUDE_PATH "${PROJECT_SOURCE_DIR}/include" )
|
||||
set( SOURCE_PATH "${PROJECT_SOURCE_DIR}/src" )
|
||||
|
||||
set(SOURCE_FILES main.cpp src/TcpSocket.cpp include/frnetlib/TcpSocket.h src/TcpListener.cpp include/frnetlib/TcpListener.h src/Socket.cpp include/frnetlib/Socket.h src/Packet.cpp include/frnetlib/Packet.h include/frnetlib/NetworkEncoding.h src/SocketSelector.cpp include/frnetlib/SocketSelector.h src/HttpSocket.cpp include/frnetlib/HttpSocket.h src/HttpRequest.cpp include/frnetlib/HttpRequest.h src/HttpResponse.cpp include/frnetlib/HttpResponse.h src/Http.cpp include/frnetlib/Http.h src/SSLSocket.cpp include/frnetlib/SSLSocket.h src/SSLListener.cpp include/frnetlib/SSLListener.h include/frnetlib/SSLContext.h src/SocketReactor.cpp include/frnetlib/SocketReactor.h include/frnetlib/Packetable.h include/frnetlib/Listener.h src/URL.cpp include/frnetlib/URL.h)
|
||||
set(SOURCE_FILES main.cpp src/TcpSocket.cpp include/frnetlib/TcpSocket.h src/TcpListener.cpp include/frnetlib/TcpListener.h src/Socket.cpp include/frnetlib/Socket.h src/Packet.cpp include/frnetlib/Packet.h include/frnetlib/NetworkEncoding.h src/SocketSelector.cpp include/frnetlib/SocketSelector.h src/HttpSocket.cpp include/frnetlib/HttpSocket.h src/HttpRequest.cpp include/frnetlib/HttpRequest.h src/HttpResponse.cpp include/frnetlib/HttpResponse.h src/Http.cpp include/frnetlib/Http.h src/SSLSocket.cpp include/frnetlib/SSLSocket.h src/SSLListener.cpp include/frnetlib/SSLListener.h include/frnetlib/SSLContext.h src/SocketReactor.cpp include/frnetlib/SocketReactor.h include/frnetlib/Packetable.h include/frnetlib/Listener.h src/URL.cpp include/frnetlib/URL.h include/frnetlib/WebSocket.h)
|
||||
|
||||
include_directories(include)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
|
||||
|
||||
@ -7,11 +7,12 @@
|
||||
|
||||
#include "Http.h"
|
||||
#include "Socket.h"
|
||||
#include "WebSocket.h"
|
||||
|
||||
namespace fr
|
||||
{
|
||||
template<class SocketType>
|
||||
class HttpSocket : public SocketType
|
||||
class HttpSocket : public SocketType, public WebSocket
|
||||
{
|
||||
public:
|
||||
HttpSocket()
|
||||
|
||||
28
include/frnetlib/WebSocket.h
Normal file
28
include/frnetlib/WebSocket.h
Normal file
@ -0,0 +1,28 @@
|
||||
//
|
||||
// Created by fred.nicolson on 02/06/17.
|
||||
//
|
||||
|
||||
#ifndef FRNETLIB_WEBSOCKET_H
|
||||
#define FRNETLIB_WEBSOCKET_H
|
||||
|
||||
#include "Socket.h"
|
||||
#include "Http.h"
|
||||
|
||||
namespace fr
|
||||
{
|
||||
/*!
|
||||
* fr::HttpSocket inherits this class. It's sole purpose is
|
||||
* to allow you to store fr::HttpSocket<T> types in a generic
|
||||
* container.
|
||||
*/
|
||||
class WebSocket
|
||||
{
|
||||
public:
|
||||
virtual ~WebSocket()=default;
|
||||
virtual Socket::Status receive(Http &request) = 0;
|
||||
virtual Socket::Status send(const Http &request) = 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //FRNETLIB_WEBSOCKET_H
|
||||
Loading…
x
Reference in New Issue
Block a user