private void RetryProcessSecureSharedFiles() { try { if (retryFiles.Count > 0) { List <string> itemsToDelete = new List <string>(); foreach (KeyValuePair <string, int> entry in retryFiles) { if (entry.Value > 0 && entry.Value < maxRetry) { string lastError = string.Empty; if (DigitalRightControl.ProcessSecureShareFile(entry.Key, out lastError) || entry.Value == maxRetry - 1) { EventManager.WriteMessage(176, "ProcessSecureShareFile", EventLevel.Verbose, "Process secure file " + entry.Key + " succeeded,maxRetry:" + entry.Value); itemsToDelete.Add(entry.Key); } else { retryFiles[entry.Key] = entry.Value + 1; } } } foreach (string item in itemsToDelete) { retryFiles.Remove(item); } } } catch (Exception ex) { EventManager.WriteMessage(176, "RetryProcessSecureSharedFiles", EventLevel.Verbose, "RetryProcessSecureSharedFiles failed with error: " + ex.Message); } }
/// <summary> /// convert the secure share file's embedded DRM data to encrypted file's meta data with the attached tag. /// </summary> /// <param name="messageSend"></param> private void ProcessSecuredSharedFile(FilterAPI.MessageSendData messageSend) { string lastError = string.Empty; if (!DigitalRightControl.ProcessSecureShareFile(messageSend.FileName, out lastError)) { if (!retryFiles.ContainsKey(messageSend.FileName)) { retryFiles.Add(messageSend.FileName, 0); } EventManager.WriteMessage(147, "ProcessSecureShareFile", EventLevel.Error, lastError); } else { EventManager.WriteMessage(159, "ProcessSecureShareFile", EventLevel.Verbose, "Process secure file " + messageSend.FileName + " succeeded."); } }