/// <summary> /// Request that the database be purged of (possibly sensitive) chat information. /// </summary> public void PurgeChatInfo() { if (databaseAccessMutex.WaitOne()) { try { databaseEntry.PurgeChatInfo(localDB); if (localDB.HasChanges()) { KPDatabaseDataSet datasetChanges = (KPDatabaseDataSet)localDB.GetChanges(); if (datasetChanges != null) { try { // Notify watchers so that they can view the database with // Row changed/inserted/deleted flags still visible OnDatabaseChanging(new DatabaseWatchEventArgs(datasetChanges)); UpdateDatabase(); // Notify watchers when database has been fully updated. OnDatabaseChanged(new DatabaseWatchEventArgs(null)); } finally { datasetChanges.Dispose(); } } } } finally { databaseAccessMutex.ReleaseMutex(); } } }