summaryrefslogtreecommitdiffabout
path: root/include
Side-by-side diff
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/Makefile.am3
-rw-r--r--include/opkele/curl.h28
2 files changed, 30 insertions, 1 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
index f3551f5..b31786d 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1,16 +1,17 @@
nobase_include_HEADERS = \
opkele/acconfig.h \
opkele/opkele-config.h \
opkele/types.h \
opkele/association.h \
opkele/exception.h \
opkele/server.h \
opkele/consumer.h \
opkele/extension.h \
opkele/sreg.h \
opkele/extension_chain.h \
opkele/xconsumer.h \
opkele/xserver.h
EXTRA_DIST = \
opkele/data.h \
- opkele/util.h
+ opkele/util.h \
+ opkele/curl.h
diff --git a/include/opkele/curl.h b/include/opkele/curl.h
new file mode 100644
index 0000000..8794ece
--- a/dev/null
+++ b/include/opkele/curl.h
@@ -0,0 +1,28 @@
+#ifndef __OPKELE_CURL_H
+#define __OPKELE_CURL_H
+
+#include <curl/curl.h>
+
+namespace opkele {
+
+ namespace util {
+
+ class curl_t {
+ public:
+ CURL *_c;
+
+ curl_t() : _c(0) { }
+ curl_t(CURL *c) : _c(c) { }
+ ~curl_t() throw() { if(_c) curl_easy_cleanup(_c); }
+
+ curl_t& operator=(CURL *c) { if(_c) curl_easy_cleanup(_c); _c=c; return *this; }
+
+ operator const CURL*(void) const { return _c; }
+ operator CURL*(void) { return _c; }
+ };
+
+ }
+
+}
+
+#endif /* __OPKELE_CURL_H */