From 725f68b6808a8a30778f58223fac75386f082785 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Fri, 18 May 2012 22:10:43 +0000 Subject: plugins folders renaming git-svn-id: http://svn.miranda-ng.org/main/trunk@61 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/modernb/modern_gettextasync.cpp | 205 -------------------------------- 1 file changed, 205 deletions(-) delete mode 100644 plugins/modernb/modern_gettextasync.cpp (limited to 'plugins/modernb/modern_gettextasync.cpp') diff --git a/plugins/modernb/modern_gettextasync.cpp b/plugins/modernb/modern_gettextasync.cpp deleted file mode 100644 index c7dea9a18e..0000000000 --- a/plugins/modernb/modern_gettextasync.cpp +++ /dev/null @@ -1,205 +0,0 @@ -/* - -Miranda IM: the free IM client for Microsoft* Windows* - -Copyright 2000-2008 Miranda ICQ/IM project, -all portions of this codebase are copyrighted to the people -listed in contributors.txt. - -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. - -*/ - -/* -* Author Artem Shpynov aka FYR -* Copyright 2000-2008 Artem Shpynov -*/ - -////////////////////////////////////////////////////////////////////////// -// Module to async parsing of texts - -#include "hdr/modern_commonheaders.h" -#include "hdr/modern_gettextasync.h" -#include "newpluginapi.h" -#include "hdr/modern_sync.h" - -int CLUI_SyncSetPDNCE(WPARAM wParam, LPARAM lParam); -int CLUI_SyncGetShortData(WPARAM wParam, LPARAM lParam); - -#define gtalock EnterCriticalSection(>aCS) -#define gtaunlock LeaveCriticalSection( >aCS ) - -typedef struct _GetTextAsyncItem { - HANDLE hContact; - struct ClcData *dat; - struct _GetTextAsyncItem *Next; -} GTACHAINITEM; - -static GTACHAINITEM * gtaFirstItem=NULL; -static GTACHAINITEM * gtaLastItem=NULL; -static CRITICAL_SECTION gtaCS; -static HANDLE hgtaWakeupEvent=NULL; - - -static BOOL gtaGetItem(GTACHAINITEM * mpChain) -{ - gtalock; - if (!gtaFirstItem) - { - gtaunlock; - return FALSE; - } - else if (mpChain) - { - GTACHAINITEM * ch; - ch=gtaFirstItem; - *mpChain=*ch; - gtaFirstItem=(GTACHAINITEM *)ch->Next; - if (!gtaFirstItem) gtaLastItem=NULL; - free(ch); - gtaunlock; - return TRUE; - } - gtaunlock; - return FALSE; -} - -static int gtaThreadProc(void * lpParam) -{ - BOOL exit=FALSE; - HWND hwnd=pcli->hwndContactList; - struct SHORTDATA data={0}; - struct SHORTDATA * dat; - - while (!MirandaExiting()) - { - Sync(CLUI_SyncGetShortData,(WPARAM)pcli->hwndContactTree,(LPARAM)&data); - do - { - if (!MirandaExiting()) - SleepEx(0,TRUE); //1000 contacts per second - if (MirandaExiting()) - { - g_dwGetTextAsyncThreadID=0; - return 0; - } - else - { - GTACHAINITEM mpChain={0}; - struct SHORTDATA dat2={0}; - if (!gtaGetItem(&mpChain)) break; - if (mpChain.dat==NULL || (!IsBadReadPtr(mpChain.dat,sizeof(mpChain.dat)) && mpChain.dat->hWnd==data.hWnd)) dat=&data; - else - { - Sync(CLUI_SyncGetShortData,(WPARAM)mpChain.dat->hWnd,(LPARAM)&dat2); - dat=&dat2; - } - if (!MirandaExiting()) - { - displayNameCacheEntry cacheEntry; - memset( &cacheEntry, 0, sizeof(cacheEntry)); - cacheEntry.m_cache_hContact=mpChain.hContact; - if (!Sync(CLUI_SyncGetPDNCE, (WPARAM) 0,(LPARAM)&cacheEntry)) - { - if (!MirandaExiting()) - Cache_GetSecondLineText(dat, &cacheEntry); - if (!MirandaExiting()) - Cache_GetThirdLineText(dat, &cacheEntry); - if (!MirandaExiting()) - Sync(CLUI_SyncSetPDNCE, (WPARAM) CCI_LINES,(LPARAM)&cacheEntry); - CListSettings_FreeCacheItemData(&cacheEntry); - } - } - else - { - g_dwGetTextAsyncThreadID=0; - return 0; - } - KillTimer(dat->hWnd,TIMERID_INVALIDATE_FULL); - CLUI_SafeSetTimer(dat->hWnd,TIMERID_INVALIDATE_FULL,500,NULL); - } - } - while (!exit); - - WaitForSingleObjectEx(hgtaWakeupEvent, INFINITE, FALSE ); - ResetEvent(hgtaWakeupEvent); - } - g_dwGetTextAsyncThreadID=0; - return 1; -} - -BOOL gtaWakeThread() -{ - if (hgtaWakeupEvent && g_dwGetTextAsyncThreadID) - { - SetEvent(hgtaWakeupEvent); - - return TRUE; - } - - return FALSE; -} - -int gtaAddRequest(struct ClcData *dat,struct ClcContact *contact,HANDLE hContact) -{ - if (MirandaExiting()) return 0; - gtalock; - { - GTACHAINITEM * mpChain=(GTACHAINITEM *)malloc(sizeof(GTACHAINITEM)); - mpChain->hContact=hContact; - mpChain->dat=dat; - mpChain->Next=NULL; - if (gtaLastItem) - { - gtaLastItem->Next=(GTACHAINITEM *)mpChain; - gtaLastItem=mpChain; - } - else - { - gtaFirstItem=mpChain; - gtaLastItem=mpChain; - SetEvent(hgtaWakeupEvent); - } - } - gtaunlock; - return FALSE; -} -void gtaRenewText(HANDLE hContact) -{ - gtaAddRequest(NULL,NULL, hContact); -} -int gtaOnModulesUnload(WPARAM wParam,LPARAM lParam) -{ - SetEvent(hgtaWakeupEvent); - return 0; -} -void InitCacheAsync() -{ - InitializeCriticalSection(>aCS); - hgtaWakeupEvent=CreateEvent(NULL,FALSE,FALSE,NULL); - g_dwGetTextAsyncThreadID=(DWORD)mir_forkthread((pThreadFunc)gtaThreadProc,0); - ModernHookEvent(ME_SYSTEM_PRESHUTDOWN, gtaOnModulesUnload); -} - -void UninitCacheAsync() -{ - GTACHAINITEM mpChain; - SetEvent(hgtaWakeupEvent); - CloseHandle(hgtaWakeupEvent); - gtalock; - while(gtaGetItem(&mpChain)); - gtaunlock; - DeleteCriticalSection(>aCS); -} -- cgit v1.2.3