NS_IMETHODIMP nsMsgSearchDBView::Open(nsIMsgFolder *folder, nsMsgViewSortTypeValue sortType, nsMsgViewSortOrderValue sortOrder, nsMsgViewFlagsTypeValue viewFlags, int32_t *pCount) { // dbViewWrapper.js likes to create search views with a sort order // of byNone, in order to have the order be the order the search results // are returned. But this doesn't work with threaded view, so make the // sort order be byDate if we're threaded. if (viewFlags & nsMsgViewFlagsType::kThreadedDisplay && sortType == nsMsgViewSortType::byNone) sortType = nsMsgViewSortType::byDate; nsresult rv = nsMsgDBView::Open(folder, sortType, sortOrder, viewFlags, pCount); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); prefBranch->GetBoolPref("mail.strict_threading", &gReferenceOnlyThreading); // our sort is automatically valid because we have no contents at this point! m_sortValid = true; if (pCount) *pCount = 0; m_folder = nullptr; return rv; }
NS_IMETHODIMP nsMsgPurgeService::Init() { nsresult rv; if (!MsgPurgeLogModule) MsgPurgeLogModule = PR_NewLogModule("MsgPurge"); // these prefs are here to help QA test this feature nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); if (NS_SUCCEEDED(rv)) { PRInt32 min_delay; rv = prefBranch->GetIntPref("mail.purge.min_delay", &min_delay); if (NS_SUCCEEDED(rv) && min_delay) mMinDelayBetweenPurges = min_delay; PRInt32 purge_timer_interval; rv = prefBranch->GetIntPref("mail.purge.timer_interval", &purge_timer_interval); if (NS_SUCCEEDED(rv) && purge_timer_interval) mPurgeTimerInterval = purge_timer_interval; } PR_LOG(MsgPurgeLogModule, PR_LOG_ALWAYS, ("mail.purge.min_delay=%d minutes",mMinDelayBetweenPurges)); PR_LOG(MsgPurgeLogModule, PR_LOG_ALWAYS, ("mail.purge.timer_interval=%d minutes",mPurgeTimerInterval)); // don't start purging right away. // because the accounts aren't loaded and because the user might be trying to sign in // or startup, etc. SetupNextPurge(); mHaveShutdown = PR_FALSE; return NS_OK; }
char* nsMimeBaseEmitter::GetLocalizedDateString(const char * dateString) { char *i18nValue = nullptr; bool displayOriginalDate = false; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) prefBranch->GetBoolPref("mailnews.display.original_date", &displayOriginalDate); if (!displayOriginalDate) { nsAutoCString convertedDateString; nsresult rv = GenerateDateString(dateString, convertedDateString, true); if (NS_SUCCEEDED(rv)) i18nValue = strdup(convertedDateString.get()); else i18nValue = strdup(dateString); } else i18nValue = strdup(dateString); return i18nValue; }
nsresult aptCoreTrace::Init(const char* sLock) { if (mCanLog) return NS_OK; mLC = new LogClient(); if (!mLC) return NS_ERROR_OUT_OF_MEMORY; const char* logfifo = getenv("JAXERLOG_PIPENAME"); mLC->Init(logfifo, -1, sLock); mLC->OpenPipeForWrite(); #ifdef _WIN32 mPid = GetCurrentProcessId(); #else mPid = getpid(); #endif mLoggerLock = PR_NewMonitor(); mBuf = (char *)PR_Malloc(0x8000); mBufSize = 0x8000; mCanLog = PR_TRUE; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) UpdatePrefSettings(prefBranch, nsnull); return NS_OK; }
/** * Default constructor * * @update gess 4/9/98 * @param * @return */ CViewSourceHTML::CViewSourceHTML() { mSyntaxHighlight = PR_FALSE; mWrapLongLines = PR_FALSE; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) { PRBool temp; nsresult rv; rv = prefBranch->GetBoolPref("view_source.syntax_highlight", &temp); mSyntaxHighlight = NS_SUCCEEDED(rv) ? temp : PR_TRUE; rv = prefBranch->GetBoolPref("view_source.wrap_long_lines", &temp); mWrapLongLines = NS_SUCCEEDED(rv) ? temp : PR_FALSE; } mSink = 0; mLineNumber = 1; mTokenizer = 0; mDocType=eHTML_Quirks; mHasOpenRoot=PR_FALSE; mHasOpenBody=PR_FALSE; mTokenCount=0; #ifdef DUMP_TO_FILE gDumpFile = fopen(gDumpFileName,"w"); #endif // DUMP_TO_FILE }
PRBool nsMsgAccountManagerDataSource::IsFakeAccountRequired() { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); PRBool showFakeAccount = PR_FALSE; if (NS_SUCCEEDED(rv)) rv = prefBranch->GetBoolPref(PREF_SHOW_FAKE_ACCOUNT, &showFakeAccount); if (!showFakeAccount) return PR_FALSE; nsXPIDLCString fakeHostName; rv = GetFakeAccountHostName(getter_Copies(fakeHostName)); NS_ENSURE_SUCCESS(rv,rv); nsCOMPtr<nsIMsgAccountManager> accountManager = do_QueryReferent(mAccountManager); if (!accountManager) return NS_ERROR_FAILURE; nsCOMPtr<nsIMsgIncomingServer> server; if (!fakeHostName.IsEmpty()) { rv = accountManager->FindServer("",fakeHostName.get(),"", getter_AddRefs(server)); if (NS_SUCCEEDED(rv) && server) return PR_FALSE; } return PR_TRUE; }
// Opening Thunderbird's new mail alert notification window for not supporting libnotify // aUserInitiated --> true if we are opening the alert notification in response to a user action // like clicking on the biff icon nsresult nsMessengerUnixIntegration::ShowNewAlertNotification(bool aUserInitiated) { nsresult rv; // if we are already in the process of showing an alert, don't try to show another.... if (mAlertInProgress) return NS_OK; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); bool showAlert = true; prefBranch->GetBoolPref(SHOW_ALERT_PREF, &showAlert); if (showAlert) { nsCOMPtr<nsIMutableArray> argsArray = do_CreateInstance(NS_ARRAY_CONTRACTID); if (!argsArray) return NS_ERROR_FAILURE; // pass in the array of folders with unread messages nsCOMPtr<nsISupportsInterfacePointer> ifptr = do_CreateInstance(NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); ifptr->SetData(mFoldersWithNewMail); ifptr->SetDataIID(&NS_GET_IID(nsISupportsArray)); argsArray->AppendElement(ifptr, PR_FALSE); // pass in the observer ifptr = do_CreateInstance(NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv, rv); nsCOMPtr <nsISupports> supports = do_QueryInterface(static_cast<nsIMessengerOSIntegration*>(this)); ifptr->SetData(supports); ifptr->SetDataIID(&NS_GET_IID(nsIObserver)); argsArray->AppendElement(ifptr, PR_FALSE); // pass in the animation flag nsCOMPtr<nsISupportsPRBool> scriptableUserInitiated (do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); scriptableUserInitiated->SetData(aUserInitiated); argsArray->AppendElement(scriptableUserInitiated, PR_FALSE); nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID)); nsCOMPtr<nsIDOMWindow> newWindow; rv = wwatch->OpenWindow(0, ALERT_CHROME_URL, "_blank", "chrome,dialog=yes,titlebar=no,popup=yes", argsArray, getter_AddRefs(newWindow)); mAlertInProgress = PR_TRUE; } // if the user has turned off the mail alert, or openWindow generated an error, // then go straight to the system tray. if (!showAlert || NS_FAILED(rv)) AlertFinished(); return rv; }
NS_IMETHODIMP nsSpamSettings::GetMarkAsReadOnSpam(bool *aMarkAsReadOnSpam) { NS_ENSURE_ARG_POINTER(aMarkAsReadOnSpam); nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); return prefBranch->GetBoolPref("mail.spam.markAsReadOnSpam", aMarkAsReadOnSpam); }
NS_IMETHODIMP nsSpamSettings::GetLoggingEnabled(bool *aLoggingEnabled) { NS_ENSURE_ARG_POINTER(aLoggingEnabled); nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); return prefBranch->GetBoolPref("mail.spam.logging.enabled", aLoggingEnabled); }
NS_IMETHODIMP nsSpamSettings::GetManualMarkMode(PRInt32 *aManualMarkMode) { NS_ENSURE_ARG_POINTER(aManualMarkMode); nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); return prefBranch->GetIntPref("mail.spam.manualMarkMode", aManualMarkMode); }
// save the list of keys nsresult nsSmtpService::saveKeyList() { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; return prefBranch->SetCharPref(PREF_MAIL_SMTPSERVERS, mServerKeyList.get()); }
/* static */PRBool CPalmSyncImp::GetBoolPref(const char *prefName, PRBool defaultVal) { PRBool boolVal = defaultVal; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) prefBranch->GetBoolPref(prefName, &boolVal); return boolVal; }
NS_IMETHODIMP DirPrefObserver::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { nsCOMPtr<nsIPrefBranch> prefBranch(do_QueryInterface(aSubject)); const char *prefname = NS_ConvertUTF16toUTF8(aData).get(); DIR_PrefId id = DIR_AtomizePrefName(prefname); // Just get out if we get nothing here - we don't need to do anything if (id == idNone) return NS_OK; /* Check to see if the server is in the unified server list. */ DIR_Server *server = dir_MatchServerPrefToServer(dir_ServerList, prefname); if (server) { /* If the server is in the process of being saved, just ignore this * change. The DIR_Server structure is not really changing. */ if (server->savingServer) return NS_OK; /* If the pref that changed is the position, read it in. If the new * position is zero, remove the server from the list. */ if (id == idPosition) { PRInt32 position; /* We must not do anything if the new position is the same as the * position in the DIR_Server. This avoids recursion in cases * where we are deleting the server. */ prefBranch->GetIntPref(prefname, &position); if (position != server->position) { server->position = position; if (dir_IsServerDeleted(server)) DIR_SetServerPosition(dir_ServerList, server, DIR_POS_DELETE); } } if (id == idDescription) // Ensure the local copy of the description is kept up to date. server->description = DIR_GetStringPref(prefname, "description", nsnull); } /* If the server is not in the unified list, we may need to add it. Servers * are only added when the position, serverName and description are valid. */ else if (id == idPosition || id == idType || id == idDescription) { dir_ValidateAndAddNewServer(dir_ServerList, prefname); } return NS_OK; }
/* static */PRInt32 CPalmSyncImp::GetIntPref(const char *prefName, PRInt32 defaultVal) { PRInt32 intVal = defaultVal; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) prefBranch->GetIntPref(prefName, &intVal); return intVal; }
NS_IMETHODIMP nsIDNService::Observe(nsISupports *aSubject, const char *aTopic, const PRUnichar *aData) { if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) { nsCOMPtr<nsIPrefBranch> prefBranch( do_QueryInterface(aSubject) ); if (prefBranch) prefsChanged(prefBranch, aData); } return NS_OK; }
nsresult nsMsgAccountManagerDataSource::GetFakeAccountHostName(char **aHostName) { NS_ENSURE_ARG_POINTER(aHostName); nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); if (NS_SUCCEEDED(rv)) rv = prefBranch->GetCharPref("mailnews.fakeaccount.server", aHostName); return rv; }
NS_IMETHODIMP nsSmtpService::GetDefaultServer(nsISmtpServer **aServer) { NS_ENSURE_ARG_POINTER(aServer); loadSmtpServers(); *aServer = nsnull; // always returns NS_OK, just leaving *aServer at nsnull if (!mDefaultSmtpServer) { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); if (NS_FAILED(rv)) return rv; // try to get it from the prefs nsCString defaultServerKey; rv = prefBranch->GetCharPref(PREF_MAIL_SMTP_DEFAULTSERVER, getter_Copies(defaultServerKey)); if (NS_SUCCEEDED(rv) && !defaultServerKey.IsEmpty()) { nsCOMPtr<nsISmtpServer> server; rv = GetServerByKey(defaultServerKey.get(), getter_AddRefs(mDefaultSmtpServer)); } else { // no pref set, so just return the first one, and set the pref // Ensure the list of servers is loaded loadSmtpServers(); // nothing in the array, we had better create a new server // (which will add it to the array & prefs anyway) if (mSmtpServers.Count() == 0) // if there are no smtp servers then don't create one for the default. return nsnull; mDefaultSmtpServer = mSmtpServers[0]; NS_ENSURE_TRUE(mDefaultSmtpServer, NS_ERROR_NULL_POINTER); // now we have a default server, set the prefs correctly nsCString serverKey; mDefaultSmtpServer->GetKey(getter_Copies(serverKey)); if (NS_SUCCEEDED(rv)) prefBranch->SetCharPref(PREF_MAIL_SMTP_DEFAULTSERVER, serverKey.get()); } } // at this point: // * mDefaultSmtpServer has a valid server // * the key has been set in the prefs NS_IF_ADDREF(*aServer = mDefaultSmtpServer); return NS_OK; }
NS_IMETHODIMP nsAccessProxy::OnStateChange(nsIWebProgress *aWebProgress, nsIRequest *aRequest, PRUint32 aStateFlags, nsresult aStatus) { /* PRUint32 aStateFlags ... * * ===== What has happened ===== * STATE_START, STATE_REDIRECTING, STATE_TRANSFERRING, * STATE_NEGOTIATING, STATE_STOP * ===== Where did it occur? ===== * STATE_IS_REQUEST, STATE_IS_DOCUMENT, STATE_IS_NETWORK, STATE_IS_WINDOW * ===== Security info ===== * STATE_IS_INSECURE, STATE_IS_BROKEN, STATE_IS_SECURE, STATE_SECURE_HIGH * STATE_SECURE_MED, STATE_SECURE_LOW * */ if ((aStateFlags & (STATE_STOP|STATE_START)) && (aStateFlags & STATE_IS_DOCUMENT)) { // Test for built in text to speech or braille display usage preference // If so, attach event handlers to window. If not, don't. nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); nsXPIDLCString textToSpeechEngine, brailleDisplayEngine; if (prefBranch) { prefBranch->GetCharPref("accessibility.usetexttospeech", getter_Copies(textToSpeechEngine)); prefBranch->GetCharPref("accessibility.usebrailledisplay", getter_Copies(brailleDisplayEngine)); } if ((textToSpeechEngine && *textToSpeechEngine) || (brailleDisplayEngine && *brailleDisplayEngine)) { // Yes, prefs say we will need handlers for this nsCOMPtr<nsIDOMWindow> domWindow; aWebProgress->GetDOMWindow(getter_AddRefs(domWindow)); if (domWindow) { nsCOMPtr<nsIDOMEventTarget> eventTarget = do_QueryInterface(domWindow); nsCOMPtr<nsIDOMWindowInternal> windowInternal = do_QueryInterface(domWindow); nsCOMPtr<nsIDOMWindowInternal> opener; if (windowInternal) windowInternal->GetOpener(getter_AddRefs(opener)); if (eventTarget && opener) { eventTarget->AddEventListener(NS_LITERAL_STRING("keyup"), this, PR_FALSE); eventTarget->AddEventListener(NS_LITERAL_STRING("keypress"), this, PR_FALSE); eventTarget->AddEventListener(NS_LITERAL_STRING("focus"), this, PR_FALSE); eventTarget->AddEventListener(NS_LITERAL_STRING("load"), this, PR_FALSE); eventTarget->AddEventListener(NS_LITERAL_STRING("click"), this, PR_FALSE); // for debugging } } } } return NS_OK; }
NS_IMETHODIMP nsAbDirProperty::UseForAutocomplete(const nsACString &aIdentityKey, bool *aResult) { NS_ENSURE_ARG_POINTER(aResult); // Is local autocomplete enabled? nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); return prefBranch->GetBoolPref("mail.enable_autocomplete", aResult); }
// Initialises the collector with the required items. nsresult nsAbAddressCollector::Init(void) { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); rv = prefBranch->AddObserver(PREF_MAIL_COLLECT_ADDRESSBOOK, this, false); NS_ENSURE_SUCCESS(rv, rv); SetUpAbFromPrefs(prefBranch); return NS_OK; }
nsresult nsMessengerUnixIntegration::ShowAlertMessage(const nsAString& aAlertTitle, const nsAString& aAlertText, const nsACString& aFolderURI) { nsresult rv; // if we are already in the process of showing an alert, don't try to show another.... if (mAlertInProgress) return NS_OK; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv, rv); bool showAlert = true; prefBranch->GetBoolPref(SHOW_ALERT_PREF, &showAlert); if (showAlert) { #ifdef MOZ_THUNDERBIRD nsCOMPtr<nsIAlertsService> alertsService(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID, &rv)); if (NS_SUCCEEDED(rv)) { mAlertInProgress = PR_TRUE; rv = alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON), aAlertTitle, aAlertText, PR_FALSE, NS_ConvertASCIItoUTF16(aFolderURI), this, EmptyString()); if (NS_SUCCEEDED(rv)) return rv; } AlertFinished(); ShowNewAlertNotification(PR_FALSE); #else nsCOMPtr<nsIAlertsService> alertsService (do_GetService(NS_ALERTSERVICE_CONTRACTID, &rv)); if (NS_SUCCEEDED(rv)) { rv = alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON), aAlertTitle, aAlertText, PR_TRUE, NS_ConvertASCIItoUTF16(aFolderURI), this, EmptyString()); mAlertInProgress = PR_TRUE; } #endif } if (!showAlert || NS_FAILED(rv)) // go straight to showing the system tray icon. AlertFinished(); return rv; }
NS_IMETHODIMP nsSmtpService::SetDefaultServer(nsISmtpServer *aServer) { NS_ENSURE_ARG_POINTER(aServer); mDefaultSmtpServer = aServer; nsCString serverKey; nsresult rv = aServer->GetKey(getter_Copies(serverKey)); NS_ENSURE_SUCCESS(rv,rv); nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv,rv); prefBranch->SetCharPref(PREF_MAIL_SMTP_DEFAULTSERVER, serverKey.get()); return NS_OK; }
//return menu accesskey: N or Alt+F NS_IMETHODIMP nsXULMenuitemAccessible::GetKeyboardShortcut(nsAString& aAccessKey) { aAccessKey.Truncate(); static PRInt32 gMenuAccesskeyModifier = -1; // magic value of -1 indicates unitialized state nsCOMPtr<nsIDOMElement> elt(do_QueryInterface(mDOMNode)); if (elt) { nsAutoString accesskey; // We do not use nsAccUtils::GetAccesskeyFor() because accesskeys for // menu are't registered by nsIEventStateManager. elt->GetAttribute(NS_LITERAL_STRING("accesskey"), accesskey); if (accesskey.IsEmpty()) return NS_OK; nsCOMPtr<nsIAccessible> parentAccessible(GetParent()); if (parentAccessible) { PRUint32 role; parentAccessible->GetRole(&role); if (role == nsIAccessibleRole::ROLE_MENUBAR) { // If top level menu item, add Alt+ or whatever modifier text to string // No need to cache pref service, this happens rarely if (gMenuAccesskeyModifier == -1) { // Need to initialize cached global accesskey pref gMenuAccesskeyModifier = 0; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) prefBranch->GetIntPref("ui.key.menuAccessKey", &gMenuAccesskeyModifier); } nsAutoString propertyKey; switch (gMenuAccesskeyModifier) { case nsIDOMKeyEvent::DOM_VK_CONTROL: propertyKey.AssignLiteral("VK_CONTROL"); break; case nsIDOMKeyEvent::DOM_VK_ALT: propertyKey.AssignLiteral("VK_ALT"); break; case nsIDOMKeyEvent::DOM_VK_META: propertyKey.AssignLiteral("VK_META"); break; } if (!propertyKey.IsEmpty()) nsAccessible::GetFullKeyName(propertyKey, accesskey, aAccessKey); } } if (aAccessKey.IsEmpty()) aAccessKey = accesskey; return NS_OK; } return NS_ERROR_FAILURE; }
void nsAccessNode::InitXPAccessibility() { nsCOMPtr<nsIStringBundleService> stringBundleService = mozilla::services::GetStringBundleService(); if (stringBundleService) { // Static variables are released in ShutdownAllXPAccessibility(); stringBundleService->CreateBundle(ACCESSIBLE_BUNDLE_URL, &gStringBundle); } nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) { prefBranch->GetBoolPref("browser.formfill.enable", &gIsFormFillEnabled); } NotifyA11yInitOrShutdown(true); }
/* static */ void sbLocalDatabaseLibraryLoader::RemovePrefBranch(const nsACString& aPrefBranch) { nsresult rv; nsCOMPtr<nsIPrefService> prefService = do_GetService(NS_PREFSERVICE_CONTRACTID, &rv); NS_ENSURE_SUCCESS(rv,); nsCAutoString prefBranch(aPrefBranch); nsCOMPtr<nsIPrefBranch> doomedBranch; rv = prefService->GetBranch(prefBranch.get(), getter_AddRefs(doomedBranch)); NS_ENSURE_SUCCESS(rv,); rv = doomedBranch->DeleteBranch(""); NS_ENSURE_SUCCESS(rv,); rv = prefService->SavePrefFile(nsnull); NS_ENSURE_SUCCESS(rv,); }
NS_IMETHODIMP nsInstallTrigger::UpdateEnabled(nsIURI* aURI, PRBool aUseWhitelist, PRBool* aReturn) { // disallow unless we successfully find otherwise *aReturn = PR_FALSE; if (!aUseWhitelist) { // simple global pref check nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); if (prefBranch) prefBranch->GetBoolPref( XPINSTALL_ENABLE_PREF, aReturn); } else if (aURI) { *aReturn = AllowInstall(aURI); } return NS_OK; }
OSErr nsMacCommandLine::OpenURL(const char* aURL) { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); nsXPIDLCString browserURL; if (NS_SUCCEEDED(rv)) rv = prefBranch->GetCharPref("browser.chromeURL", getter_Copies(browserURL)); if (NS_FAILED(rv)) { NS_WARNING("browser.chromeURL not supplied! How is the app supposed to know what the main window is?"); browserURL.Assign("chrome://navigator/content/navigator.xul"); } rv = OpenWindow(browserURL.get(), NS_ConvertASCIItoUTF16(aURL).get()); if (NS_FAILED(rv)) return errAEEventNotHandled; return noErr; }
nsresult nsTypeAheadFind::PrefsReset() { nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID)); NS_ENSURE_TRUE(prefBranch, NS_ERROR_FAILURE); prefBranch->GetBoolPref("accessibility.typeaheadfind.startlinksonly", &mStartLinksOnlyPref); bool isSoundEnabled = true; prefBranch->GetBoolPref("accessibility.typeaheadfind.enablesound", &isSoundEnabled); nsXPIDLCString soundStr; if (isSoundEnabled) prefBranch->GetCharPref("accessibility.typeaheadfind.soundURL", getter_Copies(soundStr)); mNotFoundSoundURL = soundStr; prefBranch->GetBoolPref("accessibility.browsewithcaret", &mCaretBrowsingOn); return NS_OK; }
static void CopyPropertiesToMsgHdr(nsIMsgDBHdr *destHdr, nsIMsgDBHdr *srcHdr, bool aIsMove) { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS_VOID(rv); nsCString dontPreserve; // These preferences exist so that extensions can control which properties // are preserved in the database when a message is moved or copied. All // properties are preserved except those listed in these preferences if (aIsMove) prefBranch->GetCharPref("mailnews.database.summary.dontPreserveOnMove", getter_Copies(dontPreserve)); else prefBranch->GetCharPref("mailnews.database.summary.dontPreserveOnCopy", getter_Copies(dontPreserve)); CopyHdrPropertiesWithSkipList(destHdr, srcHdr, dontPreserve); }
NS_IMETHODIMP nsSmtpServer::GetPassword(nsACString& aPassword) { if (m_password.IsEmpty() && !m_logonFailed) { // try to avoid prompting the user for another password. If the user has set // the appropriate pref, we'll use the password from an incoming server, if // the user has already logged onto that server. // if this is set, we'll only use this, and not the other prefs // user_pref("mail.smtpserver.smtp1.incomingAccount", "server1"); // if this is set, we'll accept an exact match of user name and server // user_pref("mail.smtp.useMatchingHostNameServer", true); // if this is set, and we don't find an exact match of user and host name, // we'll accept a match of username and domain, where domain // is everything after the first '.' // user_pref("mail.smtp.useMatchingDomainServer", true); nsCString accountKey; bool useMatchingHostNameServer = false; bool useMatchingDomainServer = false; mPrefBranch->GetCharPref("incomingAccount", getter_Copies(accountKey)); nsCOMPtr<nsIMsgAccountManager> accountManager = do_GetService(NS_MSGACCOUNTMANAGER_CONTRACTID); nsCOMPtr<nsIMsgIncomingServer> incomingServerToUse; if (accountManager) { if (!accountKey.IsEmpty()) accountManager->GetIncomingServer(accountKey, getter_AddRefs(incomingServerToUse)); else { nsresult rv; nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv)); NS_ENSURE_SUCCESS(rv,rv); prefBranch->GetBoolPref("mail.smtp.useMatchingHostNameServer", &useMatchingHostNameServer); prefBranch->GetBoolPref("mail.smtp.useMatchingDomainServer", &useMatchingDomainServer); if (useMatchingHostNameServer || useMatchingDomainServer) { nsCString userName; nsCString hostName; GetHostname(hostName); GetUsername(userName); if (useMatchingHostNameServer) // pass in empty type and port=0, to match imap and pop3. accountManager->FindRealServer(userName, hostName, EmptyCString(), 0, getter_AddRefs(incomingServerToUse)); int32_t dotPos = -1; if (!incomingServerToUse && useMatchingDomainServer && (dotPos = hostName.FindChar('.')) != kNotFound) { hostName.Cut(0, dotPos); nsCOMPtr<nsISupportsArray> allServers; accountManager->GetAllServers(getter_AddRefs(allServers)); if (allServers) { uint32_t count = 0; allServers->Count(&count); uint32_t i; for (i = 0; i < count; i++) { nsCOMPtr<nsIMsgIncomingServer> server = do_QueryElementAt(allServers, i); if (server) { nsCString serverUserName; nsCString serverHostName; server->GetRealUsername(serverUserName); server->GetRealHostName(serverHostName); if (serverUserName.Equals(userName)) { int32_t serverDotPos = serverHostName.FindChar('.'); if (serverDotPos != kNotFound) { serverHostName.Cut(0, serverDotPos); if (serverHostName.Equals(hostName)) { incomingServerToUse = server; break; } } } } } } } } } } if (incomingServerToUse) return incomingServerToUse->GetPassword(aPassword); } aPassword = m_password; return NS_OK; }