const nsString * aDest,
const nsIAtom * aCharset,
NS_IMETHODIMP nsCharsetConverterManager::GetUnicodeEncoder(                                         const nsString * aDest,                                          nsIUnicodeEncoder ** aResult){  *aResult= nsnull;  nsresult res = NS_OK;  static const char kUnicodeEncoderContractIDBase[] = NS_UNICODEENCODER_CONTRACTID_BASE;  static PRInt32 baselen = sizeof(kUnicodeEncoderContractIDBase) - 1;  char contractid[256];  PL_strncpy(contractid, kUnicodeEncoderContractIDBase, 256);  aDest->ToCString(contractid + baselen, 256 - baselen);  nsCOMPtr<nsIUnicodeEncoder> encoder;  // Always create an instance since encoders hold state.  encoder = do_CreateInstance(contractid, &res);  if (NS_FAILED(res))    res = NS_ERROR_UCONV_NOCONV;  else  {    *aResult = encoder.get();    NS_ADDREF(*aResult);  }  return res;}