Guitar
curlclient.h
Go to the documentation of this file.
1 #ifndef CURLCLIENT_H
2 #define CURLCLIENT_H
3 
4 #include "inetclient.h"
5 #include <string>
6 #include <vector>
7 
8 class CurlContext {
9 private:
10  static int instance_count_;
11 public:
12  CurlContext();
13  ~CurlContext();
14  CurlContext(CurlContext const &) = delete;
15  void operator = (CurlContext const &) = delete;
16 };
17 
19 public:
20 private:
21  struct Private;
22  struct Private *m;
23 
24  bool open();
25  void clear_error();
26 
27  static size_t write_callback(void *contents, size_t size, size_t nmemb, void *userp);
28 public:
30  ~CurlClient();
31  CurlClient(CurlClient const &) = delete;
32  void operator = (CurlClient const &) = delete;
33 
34  void reset() override;
35  void close() override;
36  InetClient::Error const &error() const override;
37 
38  int get(InetClient::Request const &req) override;
39  int post(InetClient::Request const &req, InetClient::Post const *postdata) override;
40 
41  InetClient::Response const &response() const override;
42 
43  size_t content_length() const override;
44 
45  char const *content_data() const override;
46 };
47 
48 #endif // CURLCLIENT_H
Definition: inetclient.h:120
Definition: curlclient.h:18
~CurlClient()
Definition: curlclient.cpp:77
InetClient::Error const & error() const override
Definition: curlclient.cpp:213
CurlClient(CurlClient const &)=delete
static size_t write_callback(void *contents, size_t size, size_t nmemb, void *userp)
Definition: curlclient.cpp:56
void clear_error()
Definition: curlclient.cpp:51
char const * content_data() const override
Definition: curlclient.cpp:223
size_t content_length() const override
Definition: curlclient.cpp:218
int post(InetClient::Request const &req, InetClient::Post const *postdata) override
Definition: curlclient.cpp:138
InetClient::Response const & response() const override
Definition: curlclient.cpp:208
void reset() override
Definition: curlclient.cpp:71
struct Private * m
Definition: curlclient.h:22
bool open()
Definition: curlclient.cpp:35
int get(InetClient::Request const &req) override
Definition: curlclient.cpp:83
void close() override
Definition: curlclient.cpp:43
void operator=(CurlClient const &)=delete
CurlClient(CurlContext *cx)
Definition: curlclient.cpp:65
Definition: curlclient.h:8
static int instance_count_
Definition: curlclient.h:10
void operator=(CurlContext const &)=delete
~CurlContext()
Definition: curlclient.cpp:19
CurlContext(CurlContext const &)=delete
CurlContext()
Definition: curlclient.cpp:11
Definition: inetclient.h:11
Definition: inetclient.h:57
Definition: curlclient.cpp:29
Definition: inetclient.h:52
Definition: inetclient.h:100