author | Michael Krelin <hacker@klever.net> | 2007-11-24 13:33:53 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2007-11-24 13:34:30 (UTC) |
commit | d788db9c490575e63506ce502a2f089eaaa624ee (patch) (unidiff) | |
tree | b102c7469fe3b20fc37cf0b27977049a1d55b75f /include | |
parent | 986274e9f9a8e2ef0f92b08d2d2c9485bd19adec (diff) | |
download | libopkele-d788db9c490575e63506ce502a2f089eaaa624ee.zip libopkele-d788db9c490575e63506ce502a2f089eaaa624ee.tar.gz libopkele-d788db9c490575e63506ce502a2f089eaaa624ee.tar.bz2 |
more curl wrapper cosmetics
Signed-off-by: Michael Krelin <hacker@klever.net>
-rw-r--r-- | include/opkele/curl.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/include/opkele/curl.h b/include/opkele/curl.h index 8794ece..6a7d084 100644 --- a/include/opkele/curl.h +++ b/include/opkele/curl.h | |||
@@ -1,28 +1,39 @@ | |||
1 | #ifndef __OPKELE_CURL_H | 1 | #ifndef __OPKELE_CURL_H |
2 | #define __OPKELE_CURL_H | 2 | #define __OPKELE_CURL_H |
3 | 3 | ||
4 | #include <cassert> | ||
4 | #include <curl/curl.h> | 5 | #include <curl/curl.h> |
5 | 6 | ||
6 | namespace opkele { | 7 | namespace opkele { |
7 | 8 | ||
8 | namespace util { | 9 | namespace util { |
9 | 10 | ||
10 | class curl_t { | 11 | class curl_t { |
11 | public: | 12 | public: |
12 | CURL *_c; | 13 | CURL *_c; |
13 | 14 | ||
14 | curl_t() : _c(0) { } | 15 | curl_t() : _c(0) { } |
15 | curl_t(CURL *c) : _c(c) { } | 16 | curl_t(CURL *c) : _c(c) { } |
16 | ~curl_t() throw() { if(_c) curl_easy_cleanup(_c); } | 17 | virtual ~curl_t() throw(); |
17 | 18 | ||
18 | curl_t& operator=(CURL *c) { if(_c) curl_easy_cleanup(_c); _c=c; return *this; } | 19 | curl_t& operator=(CURL *c); |
19 | 20 | ||
20 | operator const CURL*(void) const { return _c; } | 21 | operator const CURL*(void) const { return _c; } |
21 | operator CURL*(void) { return _c; } | 22 | operator CURL*(void) { return _c; } |
23 | |||
24 | CURLcode misc_sets(); | ||
25 | |||
26 | template<typename PT> | ||
27 | inline CURLcode easy_setopt(CURLoption o,PT p) { assert(_c); return curl_easy_setopt(_c,o,p); } | ||
28 | CURLcode easy_perform() { assert(_c); return curl_easy_perform(_c); } | ||
29 | template<typename IT> | ||
30 | inline CURLcode easy_getinfo(CURLINFO i,IT p) { assert(_c); return curl_easy_getinfo(_c,i,p); } | ||
31 | |||
32 | static inline CURL *easy_init() { return curl_easy_init(); } | ||
22 | }; | 33 | }; |
23 | 34 | ||
24 | } | 35 | } |
25 | 36 | ||
26 | } | 37 | } |
27 | 38 | ||
28 | #endif /* __OPKELE_CURL_H */ | 39 | #endif /* __OPKELE_CURL_H */ |