зеркало из https://github.com/mozilla/gecko-dev.git
54 строки
2.0 KiB
Plaintext
54 строки
2.0 KiB
Plaintext
#include "nsISupports.idl"
|
|
|
|
typedef long nsMsgLogonRedirectionState;
|
|
interface nsIPrompt;
|
|
|
|
[scriptable, uuid(e20261f6-df4f-11d3-b9f9-00108335942a)]
|
|
interface nsMsgLogonRedirectionStates
|
|
{
|
|
const long Idle = 0;
|
|
const long Connecting = 1;
|
|
const long Negotiating = 2;
|
|
const long Waiting = 3;
|
|
const long Validating = 4;
|
|
};
|
|
|
|
typedef long nsMsgLogonRedirectionServiceID;
|
|
|
|
[scriptable, uuid(182CB845-EB0D-11d3-98B7-001083010E9B)]
|
|
interface nsMsgLogonRedirectionServiceIDs
|
|
{
|
|
const long Imap = 0;
|
|
const long Smtp = 1;
|
|
const long AbSync = 2;
|
|
};
|
|
|
|
[scriptable, uuid(3c882b66-df4f-11d3-b9f9-00108335942a)]
|
|
interface nsIMsgLogonRedirectionRequester : nsISupports
|
|
{
|
|
/* Erron on processing the logon redirection */
|
|
void OnLogonRedirectionError(in wstring pErrMsg, in boolean badPassword);
|
|
|
|
/* Logon Redirection Progress */
|
|
void OnLogonRedirectionProgress(in nsMsgLogonRedirectionState pState);
|
|
|
|
/* reply with logon redirection data. */
|
|
void OnLogonRedirectionReply(in wstring pHost, in unsigned short pPort, in string pCookieData, in unsigned short pCookieSize);
|
|
};
|
|
|
|
/* this is the service we use to request a logon redirection */
|
|
[scriptable, uuid(0c2e96ac-e0ae-11d3-a560-0060b0fc04b7)]
|
|
interface nsIMsgLogonRedirector : nsISupports
|
|
{
|
|
// RequiresPassword --> if the subsequent logon call still requires a password to succeed, then the
|
|
// redirector will return true for this. If the redirector already has a connection open and doesn't really
|
|
// need a password again, then this will return false. This method gives us a poor man's version of password
|
|
// caching so the redirection requestor doesn't have to prompt for a password every time the requestor
|
|
// wishes to log on.
|
|
// aUserName --> the user name we wish to log in under...
|
|
boolean requiresPassword(in string aUserName, in string aRedirectorType);
|
|
void logon(in string userName, in string password, in string redirectorType, in nsIPrompt aPrompt, in nsIMsgLogonRedirectionRequester listener, in nsMsgLogonRedirectionServiceID aServiceID);
|
|
void logoff(in string userName); /* might not need this one */
|
|
};
|
|
|