1 #ifndef SOCKET_HPP 2 #define SOCKET_HPP 3 4 #include "http.h" 5 #include <memory> 6 #include "libuv/include/uv.h" 7 8 class HttpRequest; 9 class WebApplication; 10 11 class Socket { 12 public: 13 VariantHandle handle; 14 std::shared_ptr<WebApplication> pWebApplication; 15 CallbackQueue* background_queue; 16 std::vector<std::shared_ptr<HttpRequest> > connections; 17 Socket(std::shared_ptr<WebApplication> pWebApplication,CallbackQueue * background_queue)18 Socket(std::shared_ptr<WebApplication> pWebApplication, 19 CallbackQueue* background_queue) 20 : pWebApplication(pWebApplication), background_queue(background_queue) 21 { 22 } 23 24 void addConnection(std::shared_ptr<HttpRequest> request); 25 void removeConnection(std::shared_ptr<HttpRequest> request); 26 void close(); 27 28 virtual ~Socket(); 29 }; 30 31 32 #endif // SOCKET_HPP 33