/***************************************************************************** * account.h *****************************************************************************/ #ifndef _ACCOUNT_H #define _ACCOUNT_H /*****************************************************************************\ CLASS: CAccounts \*****************************************************************************/ #define LOGINFLAGS_DEFAULT 0x00000000 // Default to Anonymous when dialog is displayed #define LOGINFLAGS_ANON_ISDEFAULT 0x00000001 // Default to Anonymous when dialog is displayed #define LOGINFLAGS_ANON_LOGINJUSTFAILED 0x00000002 // The attempt to login anonymously just failed #define LOGINFLAGS_USER_LOGINJUSTFAILED 0x00000004 // The attempt to login as a user just failed class CAccounts { public: CAccounts(); ~CAccounts(); // Public Member Functions HRESULT DisplayLoginDialog(HWND hwnd, DWORD dwLoginFlags, LPCTSTR pszServer, LPTSTR pszUserName, DWORD cchUserNameSize, LPTSTR pszPassword, DWORD cchPasswordSize); HRESULT GetUserName(LPCTSTR pszServer, LPTSTR pszUserName, DWORD cchUserName); HRESULT GetPassword(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszPassword, DWORD cchPassword); protected: // Private Member Functions HRESULT _GetAccountKey(LPCTSTR pszServer, LPTSTR pszKey, DWORD cchKeySize); HRESULT _GetUserAccountKey(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszKey, DWORD cchKeySize); HRESULT _LoadLoginAttributes(DWORD * pdwLoginAttribs); HRESULT _SaveLoginAttributes(LPCTSTR pszServer, DWORD dwLoginAttribs); HRESULT _SetLoginType(HWND hDlg, BOOL fLoginAnnonymously); HRESULT _LoadEMailName(HWND hDlg); HRESULT _SaveEMailName(HWND hDlg); BOOL _SaveDialogData(HWND hDlg); HRESULT _LoadMessage(HWND hDlg); HRESULT _PopulateUserNameDropDown(HWND hDlg, LPCTSTR pszServer); HRESULT _LoadDefaultPassword(BOOL fLoadPersisted); HRESULT _SaveUserName(HWND hDlg); HRESULT _UserChangeSelect(HWND hDlg, BOOL fSelectChange); HRESULT _SavePassword(HWND hDlg, LPCTSTR pszUser, BOOL fPersist); HRESULT _GetPassword(LPCTSTR pszServer, LPCTSTR pszUserName, LPTSTR pszPassword, DWORD cchPassword); BOOL _InitDialog(HWND hdlg); LRESULT _OnCommand(HWND hdlg, WPARAM wParam, LPARAM lParam); LRESULT _OnNotify(HWND hDlg, NMHDR * pNMHdr, int idControl); static INT_PTR CALLBACK _LoginDialogProc(HWND hdlg, UINT wm, WPARAM wParam, LPARAM lParam); // Private Variables Functions LPCTSTR m_pszServer; // What is the server name? LPCTSTR m_pszUser; // What is the user name? LPCTSTR m_pszPassword; // What is the password? UINT m_uiMessageID; // What is the String ID of the message for the dialog? BOOL m_dwLoginFlags; // How should we behave? HWND m_hDlg; }; #endif // _ACCOUNT_H