return NS_ERROR_NOT_IMPLEMENTED;
ResourceState setState; USES_CONVERSION;   const PRUnichar* buttonStrings[] = { button0Title, button1Title, button2Title }; CString csBtnTitles[3];  for(int i=0; i<3; i++) { switch(buttonFlags & 0xff) { case BUTTON_TITLE_OK: csBtnTitles[i] = "Ok"; break; case BUTTON_TITLE_CANCEL: csBtnTitles[i] = "Cancel"; break; case BUTTON_TITLE_YES: csBtnTitles[i] = "Yes"; break; case BUTTON_TITLE_NO: csBtnTitles[i] = "No"; break; case BUTTON_TITLE_SAVE: csBtnTitles[i] = "Save"; break; case BUTTON_TITLE_DONT_SAVE: csBtnTitles[i] = "DontSave"; break; case BUTTON_TITLE_REVERT: csBtnTitles[i] = "Revert"; break; case BUTTON_TITLE_IS_STRING: csBtnTitles[i] = W2T(buttonStrings[i]); break; }  buttonFlags >>= 8; }  CWnd *wnd = CWndForDOMWindow(parent); CConfirmCheckDialog dlg(wnd, W2T(dialogTitle), W2T(text), checkMsg ? W2T(checkMsg) : NULL, checkValue ? *checkValue : 0, csBtnTitles[0].IsEmpty() ? NULL : (LPCTSTR)csBtnTitles[0], csBtnTitles[1].IsEmpty() ? NULL : (LPCTSTR)csBtnTitles[1], csBtnTitles[2].IsEmpty() ? NULL : (LPCTSTR)csBtnTitles[2]);  *buttonPressed = dlg.DoModal();  if(checkValue) *checkValue = dlg.m_bCheckBoxValue;  return NS_OK;
NS_IMETHODIMP CPromptService::ConfirmEx(nsIDOMWindow *parent,                                        const PRUnichar *dialogTitle,                                        const PRUnichar *text,                                        PRUint32 buttonFlags,                                        const PRUnichar *button0Title,                                        const PRUnichar *button1Title,                                        const PRUnichar *button2Title,                                        const PRUnichar *checkMsg,                                        PRBool *checkValue,                                        PRInt32 *buttonPressed){  return NS_ERROR_NOT_IMPLEMENTED;}