JABDeleteRosterUserAction.m   [plain text]


//
//  JABDeleteRosterUserAction.m
//  ChatServer/jabber_autobuddy
//
//  Created by Steve Peralta on 7/18/08.
//  Copyright 2008 Apple. All rights reserved.
//

#import "JABDeleteRosterUserAction.h"

@implementation JABDeleteRosterUserAction

//------------------------------------------------------------------------------
+ (NSArray *) jabGetDeleteRosterUserItems
{
	static NSArray *deleteItems = nil;
	
	if (nil != deleteItems) 
		return deleteItems;
	
	deleteItems = [NSArray arrayWithObjects: 
				   [NSArray arrayWithObjects: @"roster-groups", @"collection-owner", nil],
				   [NSArray arrayWithObjects: @"roster-groups", @"jid", nil],
				   [NSArray arrayWithObjects: @"roster-items", @"collection-owner", nil],
				   [NSArray arrayWithObjects: @"roster-items", @"jid", nil],
				   nil];
	return deleteItems;
}

//------------------------------------------------------------------------------
- (void) doDBAction 
{
	// Create the list of tables+fields to be deleted
	NSArray *deleteItems = [JABDeleteRosterUserAction jabGetDeleteRosterUserItems];
	
	// Execute the deletion list
	for (NSArray *anItem in deleteItems) {
		[_database deleteRowFromTable: [anItem objectAtIndex: 0] 
						  whereColumn: [anItem objectAtIndex: 1]
						  equalsValue: _targetJid
							   source: __PRETTY_FUNCTION__
								 line: __LINE__];
		if (![self checkDatabaseStatus]) 
			break; // operation failed -- abort processing
	} // for..in
}

@end