From ac6e68c2637854b4604485a3533433b874de5eaf Mon Sep 17 00:00:00 2001 From: watcher Date: Wed, 26 Oct 2016 13:01:49 +0300 Subject: deprecated is moved to https://github.com/miranda-ng/deprecated --- tools/_deprecated/YahooGroups/src/services.cpp | 193 ------------------------- 1 file changed, 193 deletions(-) delete mode 100644 tools/_deprecated/YahooGroups/src/services.cpp (limited to 'tools/_deprecated/YahooGroups/src/services.cpp') diff --git a/tools/_deprecated/YahooGroups/src/services.cpp b/tools/_deprecated/YahooGroups/src/services.cpp deleted file mode 100644 index 16e58a2add..0000000000 --- a/tools/_deprecated/YahooGroups/src/services.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/* -YahooGroups plugin for Miranda IM - -Copyright © 2007 Cristian Libotean - -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; either version 2 -of the License, or (at your option) any later version. - -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, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "stdafx.h" - -#define CLIST_GROUPS "CListGroups" - -HANDLE hsYGMove = NULL; -HANDLE hsYGReset = NULL; - -int InitServices() -{ - hsYGMove = CreateServiceFunction(MS_YAHOOGROUPS_MOVE, YahooGroupsMoveService); - hsYGReset = CreateServiceFunction(MS_YAHOOGROUPS_RESET, YahooGroupsResetService); - - ReadAvailableGroups(); - - return 0; -} - -int DestroyServices() -{ - DestroyServiceFunction(hsYGMove); - DestroyServiceFunction(hsYGReset); - - return 0; -} - -void ReadAvailableGroups() -{ - int ok = 1; - int index = 0; - - char group[1024] = {0}; - char tmp[128] = {0}; - - while (ok) - { - mir_snprintf(tmp, "%d", index); - GetStringFromDatabase(NULL, CLIST_GROUPS, tmp, NULL, group, sizeof(group)); - if (mir_strlen(group) > 0) - { - availableGroups.Add(_strdup(group + 1)); - index += 1; - } - else{ - ok = 0; - } - } -} - -int GetNextGroupIndex() -{ - int index = 0; - int found = 0; - - char buffer[1024] = {0}; - char tmp[128] = {0}; - - while (!found) - { - mir_snprintf(tmp, "%d", index++); - - if (GetStringFromDatabase(NULL, CLIST_GROUPS, tmp, NULL, buffer, sizeof(buffer))) - { - found = 1; - } - } - - return index - 1; -} - -void AddNewGroup(const char *newGroup) -{ - int index = GetNextGroupIndex(); - - char tmp[128]; - char group[1024]; - - *group = 1; - strncpy_s((group + 1), (_countof(group) - 1), newGroup, _TRUNCATE); - - mir_snprintf(tmp, "%d", index); - const int MAX_SIZE = 1024; - wchar_t wide[MAX_SIZE] = {0}; - *wide = 1; - MultiByteToWideChar(currentCodePage, 0, group + 1, -1, wide + 1, MAX_SIZE - 1); - db_set_ws(NULL, CLIST_GROUPS, tmp, wide); - - availableGroups.Add(_strdup(group + 1)); -} - -void AddContactToGroup(MCONTACT hContact, char *group) -{ - const int MAX_SIZE = 1024; - wchar_t wide[MAX_SIZE] = {0}; - MultiByteToWideChar(currentCodePage, 0, group, -1, wide, MAX_SIZE); - db_set_ws(hContact, "CList", "Group", wide); -} - -void CreateGroup(char *group) -{ - char *p = group; - char *sub = group; - - CMStringA buf; - while ((p = strchr(sub, '\\'))) - { - *p = 0; - if (!buf.IsEmpty()) - buf.AppendChar('\\'); - buf.Append(sub); - - if (!availableGroups.Contains(buf)) - AddNewGroup(buf); - - *p++ = '\\'; - sub = p; - } - - if (sub) { - if (!buf.IsEmpty()) - buf.AppendChar('\\'); - buf.Append(sub); - - if (!availableGroups.Contains(buf)) - AddNewGroup(buf); - } -} - -void ProcessContacts(void (*callback)(MCONTACT, char *), char *protocol) -{ - for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) - callback(hContact, protocol); -} - -void YahooMoveCallback(MCONTACT hContact, char*) -{ - char protocol[128] = {0}; - GetContactProtocol(hContact, protocol, sizeof(protocol)); - - if (mir_strlen(protocol) > 0) - { - char ygroup[128] = {0}; - - if (!GetStringFromDatabase(hContact, protocol, "YGroup", NULL, ygroup, sizeof(ygroup))) - { - CreateGroup(ygroup); - AddContactToGroup(hContact, ygroup); - } - } -} - -void ResetGroupCallback(MCONTACT hContact, char *protocol) -{ - char p[128] = {0}; - - GetContactProtocol(hContact, p, sizeof(protocol)); - - if ((!protocol) || (_stricmp(protocol, p) == 0)) - { - db_unset(hContact, "CList", "Group"); - } -} - -INT_PTR YahooGroupsMoveService(WPARAM, LPARAM) -{ - ProcessContacts(YahooMoveCallback, NULL); - return 0; -} - -INT_PTR YahooGroupsResetService(WPARAM, LPARAM) -{ - ProcessContacts(ResetGroupCallback, NULL); - return 0; -} -- cgit v1.2.3