ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

imnact.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2006 Robert Shearman for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "objidl.idl";
00020 
00021 interface IImnAccount;
00022 
00023 cpp_quote("#ifndef HR_E")
00024 cpp_quote("#define HR_E(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_INTERNET, n)")
00025 cpp_quote("#endif")
00026 cpp_quote("#ifndef HR_S")
00027 cpp_quote("#define HR_S(n) MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_INTERNET, n)")
00028 cpp_quote("#endif")
00029 
00030 typedef enum tagSMTPAUTHTYPE
00031 {
00032     SMTP_AUTH_NONE,
00033     SMTP_AUTH_SICILY,
00034     SMTP_AUTH_USE_POP3ORIMAP_SETTINGS,
00035     SMTP_AUTH_USE_SMTP_SETTINGS,
00036 } SMTPAUTHTYPE;
00037 
00038 const SHORT CCHMAX_ORG_NAME = 256;
00039 const SHORT CCHMAX_DISPLAY_NAME = 256;
00040 const SHORT CCHMAX_ACCOUNT_NAME = 256;
00041 const SHORT CCHMAX_SERVER_NAME = 256;
00042 const SHORT CCHMAX_PASSWORD = 256;
00043 const SHORT CCHMAX_USERNAME = 256;
00044 const SHORT CCHMAX_EMAIL_ADDRESS = 256;
00045 const SHORT CCHMAX_CONNECTOID = 256;
00046 const SHORT CCHMAX_SEARCH_BASE = 256;
00047 const SHORT CCHMAX_ROOT_FOLDER = 256;
00048 const SHORT CCHMAX_SIGNATURE = 16;
00049 const SHORT CCHMAX_SERVICE = 256;
00050 
00051 [
00052     object,
00053     uuid(0A06BD31-166F-11D0-81B9-00C04FD85AB4),
00054     pointer_default(unique)
00055 ]
00056 interface IImnAdviseAccount : IUnknown
00057 {
00058     typedef enum
00059     {
00060         ACCT_NEWS,
00061         ACCT_MAIL,
00062         ACCT_DIR_SERV,
00063         ACCT_LAST
00064     } ACCTTYPE;
00065 
00066     typedef struct tagAccountContext
00067     {
00068         ACCTTYPE AcctType;
00069         LPSTR pszAccountID;
00070         LPSTR pszOldName;
00071         DWORD dwServerType;
00072     } ACTX;
00073 
00074     HRESULT AdviseAccount(
00075         [in]    DWORD dwAdviseType,
00076         [in]    ACTX *pAcctCtx);
00077 }
00078 
00079 [
00080     object,
00081     uuid(8D0AED11-1638-11D0-81B9-00C04FD85AB4),
00082     pointer_default(unique)
00083 ]
00084 interface IImnAdviseMigrateServer : IUnknown
00085 {
00086     HRESULT MigrateServer(
00087         [in]    DWORD dwSrvType,
00088         [in]    IImnAccount *pAccount);
00089 }
00090 
00091 [
00092     object,
00093     uuid(FD465483-1384-11D0-ABBD-0020AFDFD10A),
00094     pointer_default(unique)
00095 ]
00096 interface IImnEnumAccounts : IUnknown
00097 {
00098     HRESULT GetCount(
00099         [out]   ULONG *pcItems);
00100 
00101     HRESULT SortByAccountName();
00102 
00103     HRESULT GetNext(
00104         [out]   IImnAccount **ppAccount);
00105 
00106     HRESULT Reset();
00107 }
00108 
00109 [
00110     object,
00111     uuid(FD465481-1384-11D0-ABBD-0020AFDFD10A),
00112     pointer_default(unique)
00113 ]
00114 interface IImnAccountManager : IUnknown
00115 {
00116     typedef struct tagACCTLISTINFO
00117     {
00118         DWORD cbSize;
00119         ACCTTYPE AcctTypeInit;
00120         DWORD dwAcctFlags;
00121         DWORD dwFlags;
00122     } ACCTLISTINFO;
00123 
00124     HRESULT Init(
00125         [in]    IImnAdviseMigrateServer *pAdviseMigrateServer);
00126 
00127     HRESULT CreateAccountObject(
00128         [in]    ACCTTYPE AcctType,
00129         [out]   IImnAccount **ppAccount);
00130 
00131     HRESULT Enumerate(
00132         [in]    DWORD dwSrvTypes,
00133         [out]   IImnEnumAccounts **ppEnumAccounts);
00134 
00135     HRESULT GetAccountCount(
00136         [in]    ACCTTYPE AcctType,
00137         [out]   ULONG *pcServers);
00138 
00139     HRESULT FindAccount(
00140         [in]    DWORD dwPropTag,
00141         [in]    LPCSTR pszSearchData,
00142         [out]   IImnAccount **ppAccount);
00143 
00144     HRESULT GetDefaultAccountName(
00145         [in]    ACCTTYPE AcctType,
00146         [in,ref] LPSTR pszAccount,
00147         [in]    ULONG cchMax);
00148 
00149     HRESULT ProcessNotification(
00150         [in]    UINT uMsg,
00151         [in]    WPARAM wParam,
00152         [in]    LPARAM lParam);
00153 
00154     HRESULT ValidateDefaultSendAccount();
00155 
00156     HRESULT AccountListDialog(
00157         [in]    HWND hwnd,
00158         [in]    ACCTLISTINFO *pinfo);
00159 
00160     HRESULT Advise(
00161         [in]    IImnAdviseAccount *pAdviseAccount,
00162         [out]   DWORD *pdwConnection);
00163 
00164     HRESULT Unadvise(
00165         [in]    DWORD dwConnection);
00166 
00167     HRESULT GetUniqueAccountName(
00168         [in]    LPSTR szName,
00169         [in]    UINT cch);
00170 
00171     HRESULT InitEx(
00172         [in]    IImnAdviseMigrateServer *pAdviseMigrateServer,
00173         [in]    DWORD dwFlags);
00174 }
00175 
00176 [
00177     object,
00178     uuid(C43DFC6F-62BB-11D2-A727-00C04F79E7C8),
00179     pointer_default(unique)
00180 ]
00181 interface IImnAccountManager2 : IImnAccountManager
00182 {
00183     HRESULT InitUser(
00184         [in]    IImnAdviseMigrateServer *pAdviseMigrateServer,
00185         [in]    REFGUID rguidID,
00186         [in]    DWORD dwFlags);
00187 
00188     HRESULT GetIncompleteAccount(
00189         [in]    ACCTTYPE AcctType,
00190         [in,ref] LPSTR pszAccountId,
00191         [in]    ULONG cchMax);
00192 
00193     HRESULT SetIncompleteAccount(
00194         [in]    ACCTTYPE AcctType,
00195         [in]    LPCSTR pszAccountId);
00196 }
00197 
00198 [
00199     object,
00200     uuid(FD465484-1384-11D0-ABBD-0020AFDFD10A),
00201     pointer_default(unique)
00202 ]
00203 interface IPropertyContainer : IUnknown
00204 {
00205     typedef enum
00206     {
00207         TYPE_ERROR = 1000,
00208         TYPE_DWORD,
00209         TYPE_LONG,
00210         TYPE_WORD,
00211         TYPE_SHORT,
00212         TYPE_BYTE,
00213         TYPE_CHAR,
00214         TYPE_FILETIME,
00215         TYPE_STRING,
00216         TYPE_BINARY,
00217         TYPE_FLAGS,
00218         TYPE_STREAM,
00219         TYPE_WSTRING,
00220         TYPE_BOOL,
00221         TYPE_PASS,
00222         TYPE_LAST
00223     } PROPTYPE;
00224 
00225 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00226 cpp_quote("#undef GetProp")
00227 cpp_quote("#undef SetProp")
00228 cpp_quote("#endif")
00229 
00230     HRESULT GetProp(
00231         [in]    DWORD dwPropTag,
00232         [in,size_is(*pcb),ref] BYTE *pb,
00233         [in]    ULONG *pcb);
00234 
00235     HRESULT GetPropDw(
00236         [in]    DWORD dwPropTag,
00237         [out]   DWORD *pdw);
00238 
00239     HRESULT GetPropSz(
00240         [in]    DWORD dwPropTag,
00241         [in,ref] LPSTR psz,
00242         [in]    ULONG cchMax);
00243 
00244     HRESULT SetProp(
00245         [in]    DWORD dwPropTag,
00246         [in,size_is(cb)] BYTE *pb,
00247         [in]    ULONG cb);
00248 
00249     HRESULT SetPropDw(
00250         [in]    DWORD dwPropTag,
00251         [in]    DWORD dw);
00252 
00253     HRESULT SetPropSz(
00254         [in]    DWORD dwPropTag,
00255         [in]    LPSTR psz);
00256 }
00257 
00258 [
00259     object,
00260     uuid(FD465482-1384-11D0-ABBD-0020AFDFD10A),
00261     pointer_default(unique)
00262 ]
00263 interface IImnAccount : IPropertyContainer
00264 {
00265     HRESULT Exist();
00266 
00267     HRESULT SetAsDefault();
00268 
00269     HRESULT Delete();
00270 
00271     HRESULT SaveChanges();
00272 
00273     HRESULT GetAccountType(
00274         [out]   ACCTTYPE *pAcctType);
00275 
00276     HRESULT GetServerTypes(
00277         [out]   DWORD *pdwSrvTypes);
00278 
00279     HRESULT ShowProperties(
00280         [in]    HWND hwnd,
00281         [in]    DWORD dwFlags);
00282 
00283     HRESULT ValidateProperty(
00284         [in]    DWORD dwPropTag,
00285         [in,size_is(cb)] BYTE *pb,
00286         [in]    ULONG cb);
00287 
00288     HRESULT DoWizard(
00289         [in]    HWND hwnd,
00290         [in]    DWORD dwFlags);
00291 
00292     HRESULT DoImportWizard(
00293         [in]    HWND hwnd,
00294         [in]    CLSID clsid,
00295         [in]    DWORD dwFlags);
00296 }
00297 
00298 cpp_quote("HRESULT WINAPI HrCreateAccountManager(IImnAccountManager **ppAccountManager);")
00299 cpp_quote("HRESULT WINAPI ValidEmailAddress(LPSTR lpAddress);")

Generated on Thu May 24 2012 04:32:16 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.