diff options
author | Kirill Volinsky <mataes2007@gmail.com> | 2012-06-29 05:38:03 +0000 |
---|---|---|
committer | Kirill Volinsky <mataes2007@gmail.com> | 2012-06-29 05:38:03 +0000 |
commit | af7e438cfe8ce85e1da234318ed1584e89d952cc (patch) | |
tree | 4cdb1379ef8d6c00389aa89cfb27a404ae2aba56 /plugins/FTPFileYM/libcurl.cpp | |
parent | 230623d50baff4e8bf13a8572e0b895bad7b7ed4 (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.cpp')
-rw-r--r-- | plugins/FTPFileYM/libcurl.cpp | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/plugins/FTPFileYM/libcurl.cpp b/plugins/FTPFileYM/libcurl.cpp new file mode 100644 index 0000000000..59f95b6de6 --- /dev/null +++ b/plugins/FTPFileYM/libcurl.cpp @@ -0,0 +1,73 @@ +/*
+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/>.
+*/
+
+#include "libcurl.h"
+
+LibCurl *LibCurl::instance = NULL;
+LibCurl &curl = LibCurl::getInstance();
+
+BOOL LibCurl::init()
+{
+ HMODULE h = LoadLibrary(_T("libcurl.dll"));
+ if (h == NULL)
+ {
+ h = LoadLibrary(_T("plugins\\libcurl.dll"));
+ if (h == NULL) return FALSE;
+ }
+
+ version_info = (_curl_version_info)GetProcAddress(h, "curl_version_info");
+ if (version_info == NULL)
+ return FALSE;
+
+ PVERSION_INFO info = version_info(CURLVERSION_NOW);
+ if (info == NULL)
+ return FALSE;
+
+ if (info->version_num < PLUGIN_MAKE_VERSION(0, 7, 10, 0))
+ return FALSE;
+
+ if ((info->features & CURL_VERSION_SSL) == 0)
+ return FALSE;
+
+ bool found = false;
+ for (int i = 0; info->protocols[i]; i++)
+ {
+ if (strcmp(info->protocols[i], "ftp") == 0)
+ found = true;
+ }
+
+ if (!found)
+ return FALSE;
+
+ global_init = (_curl_global_init) GetProcAddress(h, "curl_global_init");
+ global_cleanup = (_curl_global_cleanup) GetProcAddress(h, "curl_global_cleanup");
+ easy_init = (_curl_easy_init) GetProcAddress(h, "curl_easy_init");
+ easy_cleanup = (_curl_easy_cleanup) GetProcAddress(h, "curl_easy_cleanup");
+ easy_perform = (_curl_easy_perform) GetProcAddress(h, "curl_easy_perform");
+ easy_pause = (_curl_easy_pause) GetProcAddress(h, "curl_easy_pause");
+ easy_setopt = (_curl_easy_setopt) GetProcAddress(h, "curl_easy_setopt");
+ slist_append = (_curl_slist_append) GetProcAddress(h, "curl_slist_append");
+ slist_free_all = (_curl_slist_free_all) GetProcAddress(h, "curl_slist_free_all");
+
+ return TRUE;
+}
+
+void LibCurl::deinit()
+{
+ delete this;
+}
\ No newline at end of file |