| /* | |
| * Copyright 2006 Robert Shearman for CodeWeavers | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| import "objidl.idl"; | |
| interface IImnAccount; | |
| cpp_quote("#ifndef HR_E") | |
| cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)") | |
| cpp_quote("#endif") | |
| cpp_quote("#ifndef HR_S") | |
| cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)") | |
| cpp_quote("#endif") | |
| typedef enum tagSMTPAUTHTYPE | |
| { | |
| SMTP_AUTH_NONE, | |
| SMTP_AUTH_SICILY, | |
| SMTP_AUTH_USE_POP3ORIMAP_SETTINGS, | |
| SMTP_AUTH_USE_SMTP_SETTINGS, | |
| } SMTPAUTHTYPE; | |
| const SHORT CCHMAX_ORG_NAME = 256; | |
| const SHORT CCHMAX_DISPLAY_NAME = 256; | |
| const SHORT CCHMAX_ACCOUNT_NAME = 256; | |
| const SHORT CCHMAX_SERVER_NAME = 256; | |
| const SHORT CCHMAX_PASSWORD = 256; | |
| const SHORT CCHMAX_USERNAME = 256; | |
| const SHORT CCHMAX_EMAIL_ADDRESS = 256; | |
| const SHORT CCHMAX_CONNECTOID = 256; | |
| const SHORT CCHMAX_SEARCH_BASE = 256; | |
| const SHORT CCHMAX_ROOT_FOLDER = 256; | |
| const SHORT CCHMAX_SIGNATURE = 16; | |
| const SHORT CCHMAX_SERVICE = 256; | |
| [ | |
| object, | |
| uuid(0A06BD31-166F-11D0-81B9-00C04FD85AB4), | |
| pointer_default(unique) | |
| ] | |
| interface IImnAdviseAccount : IUnknown | |
| { | |
| typedef enum | |
| { | |
| ACCT_NEWS, | |
| ACCT_MAIL, | |
| ACCT_DIR_SERV, | |
| ACCT_LAST | |
| } ACCTTYPE; | |
| typedef struct tagAccountContext | |
| { | |
| ACCTTYPE AcctType; | |
| LPSTR pszAccountID; | |
| LPSTR pszOldName; | |
| DWORD dwServerType; | |
| } ACTX; | |
| HRESULT AdviseAccount( | |
| [in] DWORD dwAdviseType, | |
| [in] ACTX *pAcctCtx); | |
| } | |
| [ | |
| object, | |
| uuid(8D0AED11-1638-11D0-81B9-00C04FD85AB4), | |
| pointer_default(unique) | |
| ] | |
| interface IImnAdviseMigrateServer : IUnknown | |
| { | |
| HRESULT MigrateServer( | |
| [in] DWORD dwSrvType, | |
| [in] IImnAccount *pAccount); | |
| } | |
| [ | |
| object, | |
| uuid(FD465483-1384-11D0-ABBD-0020AFDFD10A), | |
| pointer_default(unique) | |
| ] | |
| interface IImnEnumAccounts : IUnknown | |
| { | |
| HRESULT GetCount( | |
| [out] ULONG *pcItems); | |
| HRESULT SortByAccountName(); | |
| HRESULT GetNext( | |
| [out] IImnAccount **ppAccount); | |
| HRESULT Reset(); | |
| } | |
| [ | |
| object, | |
| uuid(FD465481-1384-11D0-ABBD-0020AFDFD10A), | |
| pointer_default(unique) | |
| ] | |
| interface IImnAccountManager : IUnknown | |
| { | |
| typedef struct tagACCTLISTINFO | |
| { | |
| DWORD cbSize; | |
| ACCTTYPE AcctTypeInit; | |
| DWORD dwAcctFlags; | |
| DWORD dwFlags; | |
| } ACCTLISTINFO; | |
| HRESULT Init( | |
| [in] IImnAdviseMigrateServer *pAdviseMigrateServer); | |
| HRESULT CreateAccountObject( | |
| [in] ACCTTYPE AcctType, | |
| [out] IImnAccount **ppAccount); | |
| HRESULT Enumerate( | |
| [in] DWORD dwSrvTypes, | |
| [out] IImnEnumAccounts **ppEnumAccounts); | |
| HRESULT GetAccountCount( | |
| [in] ACCTTYPE AcctType, | |
| [out] ULONG *pcServers); | |
| HRESULT FindAccount( | |
| [in] DWORD dwPropTag, | |
| [in] LPCSTR pszSearchData, | |
| [out] IImnAccount **ppAccount); | |
| HRESULT GetDefaultAccountName( | |
| [in] ACCTTYPE AcctType, | |
| [in,ref] LPSTR pszAccount, | |
| [in] ULONG cchMax); | |
| HRESULT ProcessNotification( | |
| [in] UINT uMsg, | |
| [in] WPARAM wParam, | |
| [in] LPARAM lParam); | |
| HRESULT ValidateDefaultSendAccount(); | |
| HRESULT AccountListDialog( | |
| [in] HWND hwnd, | |
| [in] ACCTLISTINFO *pinfo); | |
| HRESULT Advise( | |
| [in] IImnAdviseAccount *pAdviseAccount, | |
| [out] DWORD *pdwConnection); | |
| HRESULT Unadvise( | |
| [in] DWORD dwConnection); | |
| HRESULT GetUniqueAccountName( | |
| [in] LPSTR szName, | |
| [in] UINT cch); | |
| HRESULT InitEx( | |
| [in] IImnAdviseMigrateServer *pAdviseMigrateServer, | |
| [in] DWORD dwFlags); | |
| } | |
| [ | |
| object, | |
| uuid(C43DFC6F-62BB-11D2-A727-00C04F79E7C8), | |
| pointer_default(unique) | |
| ] | |
| interface IImnAccountManager2 : IImnAccountManager | |
| { | |
| HRESULT InitUser( | |
| [in] IImnAdviseMigrateServer *pAdviseMigrateServer, | |
| [in] REFGUID rguidID, | |
| [in] DWORD dwFlags); | |
| HRESULT GetIncompleteAccount( | |
| [in] ACCTTYPE AcctType, | |
| [in,ref] LPSTR pszAccountId, | |
| [in] ULONG cchMax); | |
| HRESULT SetIncompleteAccount( | |
| [in] ACCTTYPE AcctType, | |
| [in] LPCSTR pszAccountId); | |
| } | |
| [ | |
| object, | |
| uuid(FD465484-1384-11D0-ABBD-0020AFDFD10A), | |
| pointer_default(unique) | |
| ] | |
| interface IPropertyContainer : IUnknown | |
| { | |
| typedef enum | |
| { | |
| TYPE_ERROR = 1000, | |
| TYPE_DWORD, | |
| TYPE_LONG, | |
| TYPE_WORD, | |
| TYPE_SHORT, | |
| TYPE_BYTE, | |
| TYPE_CHAR, | |
| TYPE_FILETIME, | |
| TYPE_STRING, | |
| TYPE_BINARY, | |
| TYPE_FLAGS, | |
| TYPE_STREAM, | |
| TYPE_WSTRING, | |
| TYPE_BOOL, | |
| TYPE_PASS, | |
| TYPE_LAST | |
| } PROPTYPE; | |
| cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") | |
| cpp_quote("#undef GetProp") | |
| cpp_quote("#undef SetProp") | |
| cpp_quote("#endif") | |
| HRESULT GetProp( | |
| [in] DWORD dwPropTag, | |
| [in,size_is(*pcb),ref] BYTE *pb, | |
| [in] ULONG *pcb); | |
| HRESULT GetPropDw( | |
| [in] DWORD dwPropTag, | |
| [out] DWORD *pdw); | |
| HRESULT GetPropSz( | |
| [in] DWORD dwPropTag, | |
| [in,ref] LPSTR psz, | |
| [in] ULONG cchMax); | |
| HRESULT SetProp( | |
| [in] DWORD dwPropTag, | |
| [in,size_is(cb)] BYTE *pb, | |
| [in] ULONG cb); | |
| HRESULT SetPropDw( | |
| [in] DWORD dwPropTag, | |
| [in] DWORD dw); | |
| HRESULT SetPropSz( | |
| [in] DWORD dwPropTag, | |
| [in] LPSTR psz); | |
| } | |
| [ | |
| object, | |
| uuid(FD465482-1384-11D0-ABBD-0020AFDFD10A), | |
| pointer_default(unique) | |
| ] | |
| interface IImnAccount : IPropertyContainer | |
| { | |
| HRESULT Exist(); | |
| HRESULT SetAsDefault(); | |
| HRESULT Delete(); | |
| HRESULT SaveChanges(); | |
| HRESULT GetAccountType( | |
| [out] ACCTTYPE *pAcctType); | |
| HRESULT GetServerTypes( | |
| [out] DWORD *pdwSrvTypes); | |
| HRESULT ShowProperties( | |
| [in] HWND hwnd, | |
| [in] DWORD dwFlags); | |
| HRESULT ValidateProperty( | |
| [in] DWORD dwPropTag, | |
| [in,size_is(cb)] BYTE *pb, | |
| [in] ULONG cb); | |
| HRESULT DoWizard( | |
| [in] HWND hwnd, | |
| [in] DWORD dwFlags); | |
| HRESULT DoImportWizard( | |
| [in] HWND hwnd, | |
| [in] CLSID clsid, | |
| [in] DWORD dwFlags); | |
| } | |
| cpp_quote("HRESULT WINAPI HrCreateAccountManager(IImnAccountManager **ppAccountManager);") | |
| cpp_quote("HRESULT WINAPI ValidEmailAddress(LPSTR lpAddress);") |