From 2afcb5082acababf52116edababce9b87b034f23 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 25 May 2013 19:00:17 +0000 Subject: PluginUpdater API added git-svn-id: http://svn.miranda-ng.org/main/trunk@4820 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/PluginUpdater/src/Services.cpp | 68 ++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 plugins/PluginUpdater/src/Services.cpp (limited to 'plugins/PluginUpdater/src/Services.cpp') diff --git a/plugins/PluginUpdater/src/Services.cpp b/plugins/PluginUpdater/src/Services.cpp new file mode 100644 index 0000000000..cf5df545b9 --- /dev/null +++ b/plugins/PluginUpdater/src/Services.cpp @@ -0,0 +1,68 @@ +/* +Copyright (C) 2010 Mataes + +This is free software; you can redistribute it and/or +modify it under the terms of the GNU Library General Public +License as published by the Free Software Foundation; either +version 2 of the License, or (at your option) any later version. + +This 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 +Library General Public License for more details. + +You should have received a copy of the GNU Library General Public +License along with this file; see the file license.txt. If +not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. +*/ + +#include "common.h" + +#include "m_pluginupdater.h" + +static INT_PTR srvParseHashes(WPARAM wParam, LPARAM lParam) +{ + LPCTSTR ptszUrl = (LPCTSTR)wParam; + LPTSTR ptszBaseUrl = (LPTSTR)lParam; + if (ptszUrl == NULL || ptszBaseUrl == NULL) + return NULL; + + SERVLIST *pList = new SERVLIST(50, CompareHashes); + ptrT baseUrl; + if ( ParseHashes(ptszUrl, baseUrl, *pList)) { + _tcsncpy(ptszBaseUrl, baseUrl, MAX_PATH); + return (INT_PTR)pList; + } + + delete pList; + *ptszBaseUrl = 0; + return NULL; +} + +static INT_PTR srvFreeHashes(WPARAM wParam, LPARAM lParam) +{ + SERVLIST *pList = (SERVLIST*)lParam; + delete pList; + return 0; +} + +static INT_PTR srvGetHashCount(WPARAM wParam, LPARAM lParam) +{ + SERVLIST *pList = (SERVLIST*)lParam; + return (pList == NULL) ? 0 : pList->getCount(); +} + +static INT_PTR srvGetNthHash(WPARAM wParam, LPARAM lParam) +{ + SERVLIST *pList = (SERVLIST*)lParam; + return (pList == NULL) ? 0 : INT_PTR(&(*pList)[wParam]); +} + +void ServiceInit() +{ + CreateServiceFunction(MS_PU_PARSEHASHES, srvParseHashes); + CreateServiceFunction(MS_PU_FREEHASHES, srvFreeHashes); + CreateServiceFunction(MS_PU_GETHASHCOUNT, srvGetHashCount); + CreateServiceFunction(MS_PU_GETNTHHASH, srvGetNthHash); +} -- cgit v1.2.3