Beispiel #1
0
        /// <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();
                }
            }
        }