Пример #1
0
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 );
}
Пример #2
0
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 );
}
Пример #3
0
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 );
}
Пример #4
0
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);
}
Пример #5
0
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);
}
Пример #6
0
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);
}
Пример #7
0
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);
}