void MessageFilter::Clear(void) { unsigned i; systemList.Clear(); for (i=0; i < filterList.Size(); i++) DeallocateFilterSet(filterList[i]); filterList.Clear(); }
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; } } }