diff options
author | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-10-12 14:53:57 +0000 |
---|---|---|
committer | Vadim Dashevskiy <watcherhd@gmail.com> | 2012-10-12 14:53:57 +0000 |
commit | 3b55a62fdcb1f8222de3c2c8fbed530792c419a0 (patch) | |
tree | 5b2f628e847f61bb3e16f95ecaed6e187963362f /protocols/JabberG/jabber_message_manager.h | |
parent | 1f9c986d82657f965462d289bf94aa012cf026fc (diff) |
GTalkExt, ICQ, IRC, Jabber: folders restructurization
git-svn-id: http://svn.miranda-ng.org/main/trunk@1890 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/JabberG/jabber_message_manager.h')
-rw-r--r-- | protocols/JabberG/jabber_message_manager.h | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/protocols/JabberG/jabber_message_manager.h b/protocols/JabberG/jabber_message_manager.h deleted file mode 100644 index dd52b50683..0000000000 --- a/protocols/JabberG/jabber_message_manager.h +++ /dev/null @@ -1,250 +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_MESSAGE_MANAGER_H_
-#define _JABBER_MESSAGE_MANAGER_H_
-
-#include "jabber_xml.h"
-
-struct CJabberProto;
-typedef void ( CJabberProto::*JABBER_MESSAGE_PFUNC )( HXML messageNode, void *usedata );
-typedef void ( *MESSAGE_USER_DATA_FREE_FUNC )( void *pUserData );
-
-class CJabberMessageInfo;
-
-typedef BOOL ( CJabberProto::*JABBER_PERMANENT_MESSAGE_HANDLER )( HXML messageNode, ThreadData *pThreadData, CJabberMessageInfo* pInfo );
-
-#define JABBER_MESSAGE_PARSE_FROM (1<<3)
-#define JABBER_MESSAGE_PARSE_HCONTACT ((1<<4)|JABBER_MESSAGE_PARSE_FROM)
-#define JABBER_MESSAGE_PARSE_TO (1<<5)
-#define JABBER_MESSAGE_PARSE_ID_STR (1<<6)
-
-class CJabberMessageInfo
-{
-protected:
- friend class CJabberMessageManager;
- JABBER_PERMANENT_MESSAGE_HANDLER m_pHandler;
- CJabberMessageInfo* m_pNext;
-
-public:
- void *m_pUserData;
-// parsed data
- int m_nMessageType;
- LPCTSTR m_szFrom;
- LPCTSTR m_szChildTagXmlns;
- LPCTSTR m_szChildTagName;
- HXML m_hChildNode;
- HANDLE m_hContact;
- LPCTSTR m_szTo;
- LPCTSTR m_szId;
-
-public:
- CJabberMessageInfo()
- {
- ZeroMemory(this, sizeof(*this));
- }
- ~CJabberMessageInfo()
- {
- }
- int GetMessageType()
- {
- return m_nMessageType;
- }
- void* GetUserData()
- {
- return m_pUserData;
- }
- LPCTSTR GetFrom()
- {
- return m_szFrom;
- }
- LPCTSTR GetTo()
- {
- return m_szTo;
- }
- LPCTSTR GetIdStr()
- {
- return m_szId;
- }
- HANDLE GetHContact()
- {
- return m_hContact;
- }
- HXML GetChildNode()
- {
- return m_hChildNode;
- }
- LPCTSTR GetChildNodeName()
- {
- return m_szChildTagName;
- }
-};
-
-class CJabberMessagePermanentInfo
-{
- friend class CJabberMessageManager;
-
- CJabberMessagePermanentInfo* m_pNext;
-
- JABBER_PERMANENT_MESSAGE_HANDLER m_pHandler;
- DWORD m_dwParamsToParse;
- int m_nMessageTypes;
- LPTSTR m_szXmlns;
- LPTSTR m_szTag;
- BOOL m_bAllowPartialNs;
- void *m_pUserData;
- MESSAGE_USER_DATA_FREE_FUNC m_pUserDataFree;
- int m_iPriority;
-public:
- CJabberMessagePermanentInfo()
- {
- ZeroMemory(this, sizeof(CJabberMessagePermanentInfo));
- }
- ~CJabberMessagePermanentInfo()
- {
- if ( m_pUserDataFree )
- m_pUserDataFree(m_pUserData);
- mir_free(m_szXmlns);
- mir_free(m_szTag);
- }
-};
-
-class CJabberMessageManager
-{
-protected:
- CJabberProto* ppro;
- CRITICAL_SECTION m_cs;
- CJabberMessagePermanentInfo* m_pPermanentHandlers;
-
-public:
- CJabberMessageManager( CJabberProto* proto )
- {
- InitializeCriticalSection(&m_cs);
- m_pPermanentHandlers = NULL;
- ppro = proto;
- }
- ~CJabberMessageManager()
- {
- Lock();
- CJabberMessagePermanentInfo *pInfo = m_pPermanentHandlers;
- while ( pInfo )
- {
- CJabberMessagePermanentInfo *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);
- }
- CJabberMessagePermanentInfo* AddPermanentHandler(JABBER_PERMANENT_MESSAGE_HANDLER pHandler, int nMessageTypes, DWORD dwParamsToParse, const TCHAR* szXmlns, BOOL bAllowPartialNs, const TCHAR* szTag, void *pUserData = NULL, MESSAGE_USER_DATA_FREE_FUNC pUserDataFree = NULL, int iPriority = JH_PRIORITY_DEFAULT)
- {
- CJabberMessagePermanentInfo* pInfo = new CJabberMessagePermanentInfo();
- if (!pInfo)
- return NULL;
-
- pInfo->m_pHandler = pHandler;
- pInfo->m_nMessageTypes = nMessageTypes ? nMessageTypes : JABBER_MESSAGE_TYPE_ANY;
- replaceStrT( pInfo->m_szXmlns, szXmlns );
- pInfo->m_bAllowPartialNs = bAllowPartialNs;
- replaceStrT( pInfo->m_szTag, szTag );
- pInfo->m_dwParamsToParse = dwParamsToParse;
- 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
- {
- CJabberMessagePermanentInfo* 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(CJabberMessagePermanentInfo *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
- {
- CJabberMessagePermanentInfo* 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 HandleMessagePermanent(HXML node, ThreadData *pThreadData);
- BOOL FillPermanentHandlers();
-};
-
-#endif
|