NS_IMETHODIMP nsMsgMdnGenerator::Process(EDisposeType type, nsIMsgWindow *aWindow, nsIMsgFolder *folder, nsMsgKey key, nsIMimeHeaders *headers, PRBool autoAction) { DEBUG_MDN("nsMsgMdnGenerator::Process"); NS_ENSURE_ARG_POINTER(folder); NS_ENSURE_ARG_POINTER(headers); NS_ENSURE_ARG_POINTER(aWindow); NS_ENSURE_TRUE(key != nsMsgKey_None, NS_ERROR_INVALID_ARG); m_disposeType = type; m_autoAction = autoAction; m_window = aWindow; m_folder = folder; m_headers = headers; nsresult rv = StoreMDNSentFlag(folder, key); NS_ASSERTION(NS_SUCCEEDED(rv), "StoreMDNSentFlag failed"); rv = InitAndProcess(); NS_ASSERTION(NS_SUCCEEDED(rv), "InitAndProcess failed"); return NS_OK; }
/** * Set/clear flags appropriately so we won't ask user again about MDN * request for this message. */ nsresult nsMsgMdnGenerator::NoteMDNRequestHandled() { nsresult rv = StoreMDNSentFlag(m_folder, m_key); NS_ASSERTION(NS_SUCCEEDED(rv), "StoreMDNSentFlag failed"); rv = ClearMDNNeededFlag(m_folder, m_key); NS_ASSERTION(NS_SUCCEEDED(rv), "ClearMDNNeededFlag failed"); return rv; }