From af7e438cfe8ce85e1da234318ed1584e89d952cc Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 29 Jun 2012 05:38:03 +0000 Subject: 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 --- plugins/FTPFileYM/libcurl.h | 69 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 plugins/FTPFileYM/libcurl.h (limited to 'plugins/FTPFileYM/libcurl.h') 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 . +*/ + +#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 -- cgit v1.2.3