void CJabberProto::ListRemoveByIndex( int index ) { EnterCriticalSection( &m_csLists ); if ( index >= 0 && index < m_lstRoster.getCount() ) { JabberListFreeItemInternal( m_lstRoster[index] ); m_lstRoster.remove( index ); } LeaveCriticalSection( &m_csLists ); }
void CJabberProto::ListRemove( JABBER_LIST list, const TCHAR* jid ) { EnterCriticalSection( &m_csLists ); int i = ListExist( list, jid ); if ( i != 0 ) { JabberListFreeItemInternal( m_lstRoster[ --i ] ); m_lstRoster.remove( i ); } LeaveCriticalSection( &m_csLists ); }
void CJabberProto::ListWipe( void ) { int i; EnterCriticalSection( &m_csLists ); for( i=0; i < m_lstRoster.getCount(); i++ ) JabberListFreeItemInternal( m_lstRoster[i] ); m_lstRoster.destroy(); LeaveCriticalSection( &m_csLists ); }
void JabberListRemoveByIndex(int index) { EnterCriticalSection(&csLists); if (index>=0 && index<count) { JabberListFreeItemInternal(&(lists[index])); count--; memmove(lists+index, lists+index+1, sizeof(JABBER_LIST_ITEM)*(count-index)); lists = (JABBER_LIST_ITEM *) mir_realloc(lists, sizeof(JABBER_LIST_ITEM)*count); } LeaveCriticalSection(&csLists); }
void JabberListWipe(void) { int i; EnterCriticalSection(&csLists); for(i=0; i<count; i++) JabberListFreeItemInternal(&(lists[i])); if (lists != NULL) { mir_free(lists); lists = NULL; } count=0; LeaveCriticalSection(&csLists); }
void JabberListWipeSpecial(void) { int i; EnterCriticalSection(&csLists); for(i=0; i<count; i++) { if (lists[i].list != LIST_FILE && lists[i].list != LIST_VOICE) { JabberListFreeItemInternal(&(lists[i])); count--; memmove(lists+i, lists+i+1, sizeof(JABBER_LIST_ITEM)*(count-i)); i--; } } lists = (JABBER_LIST_ITEM *) mir_realloc(lists, sizeof(JABBER_LIST_ITEM)*count); LeaveCriticalSection(&csLists); }
void JabberListRemove(JABBER_LIST list, const char *jid) { int i; EnterCriticalSection(&csLists); i = JabberListExist(list, jid); if (!i) { LeaveCriticalSection(&csLists); return; } i--; JabberListFreeItemInternal(&(lists[i])); count--; memmove(lists+i, lists+i+1, sizeof(JABBER_LIST_ITEM)*(count-i)); lists = (JABBER_LIST_ITEM *) mir_realloc(lists, sizeof(JABBER_LIST_ITEM)*count); LeaveCriticalSection(&csLists); }