// This function finds the destination when following a given nsIRDFResource // If the resource has a URL attribute, we use that. If not, just use // the uri. // // Do NOT try to get the destination of a uri in any other way void nsHTTPIndex::GetDestination(nsIRDFResource* r, nsXPIDLCString& dest) { // First try the URL attribute nsCOMPtr<nsIRDFNode> node; GetTarget(r, kNC_URL, true, getter_AddRefs(node)); nsCOMPtr<nsIRDFLiteral> url; if (node) url = do_QueryInterface(node); if (!url) { const char* temp; r->GetValueConst(&temp); dest.Adopt(temp ? strdup(temp) : 0); } else { const char16_t* uri; url->GetValueConst(&uri); dest.Adopt(ToNewUTF8String(nsDependentString(uri))); } }
/* Get prefs for printer * Search order: * - Get prefs per printer name and module name * - Get prefs per printer name * - Get prefs per module name * - Get prefs */ static nsresult CopyPrinterCharPref(nsIPrefBranch *pref, const char *modulename, const char *printername, const char *prefname, nsXPIDLCString &return_buf) { DO_PR_DEBUG_LOG(("CopyPrinterCharPref('%s', '%s', '%s')\n", modulename, printername, prefname)); nsresult rv = NS_ERROR_FAILURE; if (printername && modulename) { /* Get prefs per printer name and module name */ nsPrintfCString name(512, "print.%s.printer_%s.%s", modulename, printername, prefname); DO_PR_DEBUG_LOG(("trying to get '%s'\n", name.get())); rv = pref->GetCharPref(name.get(), getter_Copies(return_buf)); } if (NS_FAILED(rv)) { if (printername) { /* Get prefs per printer name */ nsPrintfCString name(512, "print.printer_%s.%s", printername, prefname); DO_PR_DEBUG_LOG(("trying to get '%s'\n", name.get())); rv = pref->GetCharPref(name.get(), getter_Copies(return_buf)); } if (NS_FAILED(rv)) { if (modulename) { /* Get prefs per module name */ nsPrintfCString name(512, "print.%s.%s", modulename, prefname); DO_PR_DEBUG_LOG(("trying to get '%s'\n", name.get())); rv = pref->GetCharPref(name.get(), getter_Copies(return_buf)); } if (NS_FAILED(rv)) { /* Get prefs */ nsPrintfCString name(512, "print.%s", prefname); DO_PR_DEBUG_LOG(("trying to get '%s'\n", name.get())); rv = pref->GetCharPref(name.get(), getter_Copies(return_buf)); } } } #ifdef PR_LOG if (NS_SUCCEEDED(rv)) { DO_PR_DEBUG_LOG(("CopyPrinterCharPref returning '%s'.\n", return_buf.get())); } else { DO_PR_DEBUG_LOG(("CopyPrinterCharPref failure.\n")); } #endif /* PR_LOG */ return rv; }
/* Formats an error message for non-certificate-related SSL errors * and non-overridable certificate errors (both are of type * PlainErrormMessage). Use formatOverridableCertErrorMessage * for overridable cert errors. */ static nsresult formatPlainErrorMessage(const nsXPIDLCString &host, int32_t port, PRErrorCode err, bool suppressPort443, nsString &returnedMessage) { static NS_DEFINE_CID(kNSSComponentCID, NS_NSSCOMPONENT_CID); const char16_t *params[1]; nsresult rv; nsCOMPtr<nsINSSComponent> component = do_GetService(kNSSComponentCID, &rv); NS_ENSURE_SUCCESS(rv, rv); if (host.Length()) { nsString hostWithPort; // For now, hide port when it's 443 and we're reporting the error. // In the future a better mechanism should be used // to make a decision about showing the port number, possibly by requiring // the context object to implement a specific interface. // The motivation is that Mozilla browser would like to hide the port number // in error pages in the common case. hostWithPort.AssignASCII(host); if (!suppressPort443 || port != 443) { hostWithPort.Append(':'); hostWithPort.AppendInt(port); } params[0] = hostWithPort.get(); nsString formattedString; rv = component->PIPBundleFormatStringFromName("SSLConnectionErrorPrefix", params, 1, formattedString); if (NS_SUCCEEDED(rv)) { returnedMessage.Append(formattedString); returnedMessage.AppendLiteral("\n\n"); } } nsString explanation; rv = nsNSSErrors::getErrorMessageFromCode(err, component, explanation); if (NS_SUCCEEDED(rv)) returnedMessage.Append(explanation); return NS_OK; }
void nsPrinterFeatures::SetCharValue( const char *tagname, const char *value ) { nsPrintfCString prefName(PRINTERFEATURES_PREF ".%s.%s", mPrinterName.get(), tagname); Preferences::SetCString(prefName.get(), value); }
void nsPrinterFeatures::SetIntValue( const char *tagname, PRInt32 value ) { nsPrintfCString prefName(256, PRINTERFEATURES_PREF ".%s.%s", mPrinterName.get(), tagname); Preferences::SetInt(prefName.get(), value); }
void nsPrinterFeatures::SetCharValue( const char *tagname, const char *value ) { mPrefs->SetCharPref(nsPrintfCString(256, PRINTERFEATURES_PREF ".%s.%s", mPrinterName.get(), tagname).get(), value); }