void MessageFilter::Clear(void)
{
	unsigned i;
	systemList.Clear();
	for (i=0; i < filterList.Size(); i++)
		DeallocateFilterSet(filterList[i]);
	filterList.Clear();
}
Ejemplo n.º 2
0
void MessageFilter::DeleteFilterSet(int filterSetID)
{
	FilterSet *filterSet;
	bool objectExists;
	unsigned i, index;
	index = filterList.GetIndexFromKey(filterSetID, &objectExists);
	if (objectExists) {
		filterSet = filterList[index];
		DeallocateFilterSet(filterSet);
		filterList.RemoveAtIndex(index);
		// Don't reference this pointer any longer
		i = 0;
		while (i < systemList.Size()) {
			if (systemList[i].filter == filterSet)
				systemList.RemoveAtIndex(i);
			else
				++i;
		}
	}
}