Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.8 KiB

  1. /*****************************************************************************\
  2. FILE: ftpwebvw.h
  3. DESCRIPTION:
  4. This file exists so WebView can automate the Ftp Shell Extension and get
  5. information like the MessageOfTheDay.
  6. \*****************************************************************************/
  7. #ifndef _FTPWEBVIEW_H_
  8. #define _FTPWEBVIEW_H_
  9. #include "dspsprt.h"
  10. #include "cowsite.h"
  11. #include "cobjsafe.h"
  12. #include "msieftp.h"
  13. HRESULT CFtpWebView_Create(REFIID riid, void **ppvObj);
  14. /*****************************************************************************\
  15. CLASS: CFtpWebView
  16. DESCRIPTION:
  17. This file exists so WebView can automate the Ftp Shell Extension and get
  18. information like the MessageOfTheDay.
  19. \*****************************************************************************/
  20. class CFtpWebView
  21. : public CImpIDispatch
  22. , public CObjectWithSite
  23. , public CObjectSafety
  24. , public IFtpWebView
  25. {
  26. public:
  27. // *** IUnknown methods ***
  28. virtual STDMETHODIMP_(ULONG) AddRef(void);
  29. virtual STDMETHODIMP_(ULONG) Release(void);
  30. virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
  31. // *** IDispatch methods ***
  32. virtual STDMETHODIMP GetTypeInfoCount(UINT * pctinfo);
  33. virtual STDMETHODIMP GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo * * pptinfo);
  34. virtual STDMETHODIMP GetIDsOfNames(REFIID riid, OLECHAR * * rgszNames, UINT cNames, LCID lcid, DISPID * rgdispid);
  35. virtual STDMETHODIMP Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS * pdispparams, VARIANT * pvarResult, EXCEPINFO * pexcepinfo, UINT * puArgErr);
  36. // *** IFtpWebView ***
  37. virtual STDMETHODIMP get_Server(BSTR * pbstr);
  38. virtual STDMETHODIMP get_Directory(BSTR * pbstr);
  39. virtual STDMETHODIMP get_UserName(BSTR * pbstr);
  40. virtual STDMETHODIMP get_PasswordLength(long * plLength);
  41. virtual STDMETHODIMP get_EmailAddress(BSTR * pbstr);
  42. virtual STDMETHODIMP put_EmailAddress(BSTR bstr);
  43. virtual STDMETHODIMP get_CurrentLoginAnonymous(VARIANT_BOOL * pfAnonymousLogin);
  44. virtual STDMETHODIMP get_MessageOfTheDay(BSTR * pbstr);
  45. virtual STDMETHODIMP LoginAnonymously(void);
  46. virtual STDMETHODIMP LoginWithPassword(BSTR bUserName, BSTR bPassword);
  47. virtual STDMETHODIMP LoginWithoutPassword(BSTR bUserName);
  48. virtual STDMETHODIMP InvokeHelp(void);
  49. public:
  50. // Friend Functions
  51. friend HRESULT CFtpWebView_Create(REFIID riid, void **ppvObj);
  52. private:
  53. // Private Member Variables
  54. int m_cRef;
  55. // Private Member Functions
  56. CFtpWebView();
  57. ~CFtpWebView();
  58. HRESULT _GetIFtpWebView(IFtpWebView ** ppfwb);
  59. };
  60. #endif // _FTPWEBVIEW_H_