summaryrefslogtreecommitdiff
path: root/plugins/FTPFileYM/libcurl.h
diff options
context:
space:
mode:
authorKirill Volinsky <mataes2007@gmail.com>2012-06-29 05:38:03 +0000
committerKirill Volinsky <mataes2007@gmail.com>2012-06-29 05:38:03 +0000
commitaf7e438cfe8ce85e1da234318ed1584e89d952cc (patch)
tree4cdb1379ef8d6c00389aa89cfb27a404ae2aba56 /plugins/FTPFileYM/libcurl.h
parent230623d50baff4e8bf13a8572e0b895bad7b7ed4 (diff)
only add some plugins and protocols, not adapted
See please maybe not all need us git-svn-id: http://svn.miranda-ng.org/main/trunk@678 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/FTPFileYM/libcurl.h')
-rw-r--r--plugins/FTPFileYM/libcurl.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/plugins/FTPFileYM/libcurl.h b/plugins/FTPFileYM/libcurl.h
new file mode 100644
index 0000000000..4a8ba6b253
--- /dev/null
+++ b/plugins/FTPFileYM/libcurl.h
@@ -0,0 +1,69 @@
+/*
+FTP File YM plugin
+Copyright (C) 2007-2010 Jan Holub
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation version 2
+of the License.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "common.h"
+
+class LibCurl
+{
+private:
+ typedef CURL *PCURL;
+ typedef struct curl_slist *PCURL_SLIST;
+ typedef curl_version_info_data *PVERSION_INFO;
+
+ typedef CURLcode (__cdecl * _curl_global_init) (long);
+ typedef void (__cdecl * _curl_global_cleanup) (void);
+
+ typedef PCURL (__cdecl * _curl_easy_init) (void);
+ typedef void (__cdecl * _curl_easy_cleanup) (PCURL);
+ typedef CURLcode (__cdecl * _curl_easy_perform) (PCURL);
+ typedef CURLcode (__cdecl * _curl_easy_pause) (PCURL,int);
+ typedef CURLcode (__cdecl * _curl_easy_setopt) (PCURL,CURLoption,...);
+
+ typedef PCURL_SLIST (__cdecl * _curl_slist_append) (PCURL_SLIST,LPCSTR);
+ typedef void (__cdecl * _curl_slist_free_all) (PCURL_SLIST);
+
+ typedef PVERSION_INFO (__cdecl * _curl_version_info) (CURLversion);
+
+ static LibCurl *instance;
+ LibCurl() { };
+ ~LibCurl() { instance = NULL; };
+
+public:
+ _curl_global_init global_init;
+ _curl_global_cleanup global_cleanup;
+ _curl_easy_init easy_init;
+ _curl_easy_cleanup easy_cleanup;
+ _curl_easy_perform easy_perform;
+ _curl_easy_pause easy_pause;
+ _curl_easy_setopt easy_setopt;
+ _curl_slist_append slist_append;
+ _curl_slist_free_all slist_free_all;
+ _curl_version_info version_info;
+
+ static LibCurl &getInstance()
+ {
+ if (!instance)
+ instance = new LibCurl();
+ return *instance;
+ };
+
+ BOOL init();
+ void deinit();
+}; \ No newline at end of file