X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Fclient.h;h=b1f097d8852a4517c501a7d996ee077a97e753fc;hb=HEAD;hp=2012498e67c79d5b6d86772993c3af48a64f169a;hpb=3ab65d35cfd696002e09768a38f98e6a2e1ade81;p=libs%2Fnet.git diff --git a/source/http/client.h b/source/http/client.h index 2012498..b1f097d 100644 --- a/source/http/client.h +++ b/source/http/client.h @@ -1,9 +1,11 @@ #ifndef MSP_HTTP_CLIENT_H_ #define MSP_HTTP_CLIENT_H_ +#include #include #include #include +#include #include #include @@ -13,7 +15,7 @@ namespace Http { class Request; class Response; -class Client +class MSPNET_API Client { public: sigc::signal signal_response_complete; @@ -30,18 +32,16 @@ private: void resolve_failed(unsigned, const std::exception &); }; - Net::StreamSocket *sock = nullptr; + std::unique_ptr sock; IO::EventDispatcher *event_disp = nullptr; Net::Resolver *resolver = nullptr; - ResolveListener *resolve_listener = nullptr; + std::unique_ptr resolve_listener; unsigned resolve_tag = 0; std::string user_agent = "libmspnet/1.0"; - Request *request = nullptr; - Response *response = nullptr; + std::unique_ptr request; + std::unique_ptr response; std::string in_buf; - Client(const Client &); - Client &operator=(const Client &); public: ~Client(); @@ -53,8 +53,8 @@ public: void tick(); void wait_response(); void abort(); - const Request *get_request() const { return request; } - const Response *get_response() const { return response; } + const Request *get_request() const { return request.get(); } + const Response *get_response() const { return response.get(); } private: void address_resolved(unsigned, const Net::SockAddr &); void resolve_failed(unsigned, const std::exception &);