#ifndef MSP_HTTP_CLIENT_H_
#define MSP_HTTP_CLIENT_H_
+#include <memory>
#include <string>
#include <sigc++/signal.h>
#include <msp/io/eventdispatcher.h>
void resolve_failed(unsigned, const std::exception &);
};
- Net::StreamSocket *sock = nullptr;
+ std::unique_ptr<Net::StreamSocket> sock;
IO::EventDispatcher *event_disp = nullptr;
Net::Resolver *resolver = nullptr;
- ResolveListener *resolve_listener = nullptr;
+ std::unique_ptr<ResolveListener> resolve_listener;
unsigned resolve_tag = 0;
std::string user_agent = "libmspnet/1.0";
- Request *request = nullptr;
- Response *response = nullptr;
+ std::unique_ptr<Request> request;
+ std::unique_ptr<Response> response;
std::string in_buf;
Client(const Client &);
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 &);