From 3b55a62fdcb1f8222de3c2c8fbed530792c419a0 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Fri, 12 Oct 2012 14:53:57 +0000 Subject: GTalkExt, ICQ, IRC, Jabber: folders restructurization git-svn-id: http://svn.miranda-ng.org/main/trunk@1890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/JabberG/jabber_presence_manager.h | 195 ---------------------------- 1 file changed, 195 deletions(-) delete mode 100644 protocols/JabberG/jabber_presence_manager.h (limited to 'protocols/JabberG/jabber_presence_manager.h') diff --git a/protocols/JabberG/jabber_presence_manager.h b/protocols/JabberG/jabber_presence_manager.h deleted file mode 100644 index be138d3b93..0000000000 --- a/protocols/JabberG/jabber_presence_manager.h +++ /dev/null @@ -1,195 +0,0 @@ -/* - -Jabber Protocol Plugin for Miranda IM -Copyright ( C ) 2002-04 Santithorn Bunchua -Copyright ( C ) 2005-08 George Hazan -Copyright ( C ) 2007 Maxim Mluhov -Copyright ( C ) 2008-09 Dmitriy Chervov - -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. - -*/ - -#ifndef _JABBER_PRESENCE_MANAGER_H_ -#define _JABBER_PRESENCE_MANAGER_H_ - -#include "jabber_xml.h" - -struct CJabberProto; -typedef void ( CJabberProto::*JABBER_PRESENCE_PFUNC )( HXML node, void *usedata ); -typedef void ( *PRESENCE_USER_DATA_FREE_FUNC )( void *pUserData ); - -class CJabberPresenceInfo; - -typedef BOOL ( CJabberProto::*JABBER_PRESENCE_HANDLER )( HXML node, ThreadData *pThreadData, CJabberPresenceInfo* pInfo ); - -class CJabberPresenceInfo -{ -protected: - friend class CJabberPresenceManager; - JABBER_PRESENCE_HANDLER m_pHandler; - CJabberPresenceInfo* m_pNext; - -public: - void *m_pUserData; - - CJabberPresenceInfo() - { - ZeroMemory(this, sizeof(*this)); - } - ~CJabberPresenceInfo() - { - } - void* GetUserData() - { - return m_pUserData; - } -}; - -class CJabberPresencePermanentInfo -{ - friend class CJabberPresenceManager; - - CJabberPresencePermanentInfo* m_pNext; - - JABBER_PRESENCE_HANDLER m_pHandler; - void *m_pUserData; - PRESENCE_USER_DATA_FREE_FUNC m_pUserDataFree; - int m_iPriority; -public: - CJabberPresencePermanentInfo() - { - ZeroMemory(this, sizeof(CJabberPresencePermanentInfo)); - } - ~CJabberPresencePermanentInfo() - { - if ( m_pUserDataFree ) - m_pUserDataFree(m_pUserData); - } -}; - -class CJabberPresenceManager -{ -protected: - CJabberProto* ppro; - CRITICAL_SECTION m_cs; - CJabberPresencePermanentInfo* m_pPermanentHandlers; - -public: - CJabberPresenceManager( CJabberProto* proto ) - { - InitializeCriticalSection(&m_cs); - m_pPermanentHandlers = NULL; - ppro = proto; - } - ~CJabberPresenceManager() - { - Lock(); - CJabberPresencePermanentInfo *pInfo = m_pPermanentHandlers; - while ( pInfo ) - { - CJabberPresencePermanentInfo *pTmp = pInfo->m_pNext; - delete pInfo; - pInfo = pTmp; - } - m_pPermanentHandlers = NULL; - Unlock(); - DeleteCriticalSection(&m_cs); - } - BOOL Start() - { - return TRUE; - } - BOOL Shutdown() - { - return TRUE; - } - void Lock() - { - EnterCriticalSection(&m_cs); - } - void Unlock() - { - LeaveCriticalSection(&m_cs); - } - CJabberPresencePermanentInfo* AddPermanentHandler(JABBER_PRESENCE_HANDLER pHandler, void *pUserData = NULL, PRESENCE_USER_DATA_FREE_FUNC pUserDataFree = NULL, int iPriority = JH_PRIORITY_DEFAULT) - { - CJabberPresencePermanentInfo* pInfo = new CJabberPresencePermanentInfo(); - if (!pInfo) - return NULL; - - pInfo->m_pHandler = pHandler; - pInfo->m_pUserData = pUserData; - pInfo->m_pUserDataFree = pUserDataFree; - pInfo->m_iPriority = iPriority; - - Lock(); - if (!m_pPermanentHandlers) - m_pPermanentHandlers = pInfo; - else - { - if (m_pPermanentHandlers->m_iPriority > pInfo->m_iPriority) { - pInfo->m_pNext = m_pPermanentHandlers; - m_pPermanentHandlers = pInfo; - } else - { - CJabberPresencePermanentInfo* pTmp = m_pPermanentHandlers; - while (pTmp->m_pNext && pTmp->m_pNext->m_iPriority <= pInfo->m_iPriority) - pTmp = pTmp->m_pNext; - pInfo->m_pNext = pTmp->m_pNext; - pTmp->m_pNext = pInfo; - } - } - Unlock(); - - return pInfo; - } - BOOL DeletePermanentHandler(CJabberPresencePermanentInfo *pInfo) - { // returns TRUE when pInfo found, or FALSE otherwise - Lock(); - if (!m_pPermanentHandlers) - { - Unlock(); - return FALSE; - } - if (m_pPermanentHandlers == pInfo) // check first item - { - m_pPermanentHandlers = m_pPermanentHandlers->m_pNext; - delete pInfo; - Unlock(); - return TRUE; - } else - { - CJabberPresencePermanentInfo* pTmp = m_pPermanentHandlers; - while (pTmp->m_pNext) - { - if (pTmp->m_pNext == pInfo) - { - pTmp->m_pNext = pTmp->m_pNext->m_pNext; - delete pInfo; - Unlock(); - return TRUE; - } - pTmp = pTmp->m_pNext; - } - } - Unlock(); - return FALSE; - } - BOOL HandlePresencePermanent(HXML node, ThreadData *pThreadData); - BOOL FillPermanentHandlers(); -}; - -#endif -- cgit v1.2.3